numpy.ascontiguousarray
numpy.ascontiguousarray(a, dtype=None)
Функция ascontiguousarray() возвращает непрерывный массив в памяти с организацией порядка элементов в С-стиле.
-
- a - некоторая последовательность
- Входные данные которые могут быть преобразованы в массив: списки и кортежи, списки списков и кортежи кортежей, списки кортежей и кортежи списков, а так же кортежи или списки других массивов NumPy.
- dtype - тип данных NumPy (необязательный)
- Определяет тип данных выходного массива.
-
- результат - массив NumPy
- Интерпретирует входные данные a как массив NumPy, с порядком организации в памяти в С-стиле. Если в качестве a передан существующий массив NumPy, с порядком организации в памяти отличным от C-стиля, то он будет к нему приведен. Если указать параметр dtype, то он изменит тип данных выходного массива.
Примеры
>>> import numpy as np
>>>
>>> # Преобразование последовательностей в массив NumPy
... a = [1, 2, 3]
>>>
>>>np.ascontiguousarray(a)
array([1, 2, 3])
>>> np.asarray(b)
array([[1, 2],
[3, 4]])
>>>
>>>
>>> # Создаваемые массивы имеют порядок в С-стиле
... a = np.array([[1, 2], [3, 4]])
>>> a
array([[1, 2],
[3, 4]])
>>> a.flags['C_CONTIGUOUS']
True
>>>
>>> b = a.T # Транспонирование меняет порядок с 'C' на 'F'
>>> b
array([[1, 3],
[2, 4]])
>>>
>>> b.flags['C_CONTIGUOUS']
False
>>>
>>> # Мы можем изменить порядок на 'C'
... b = np.ascontiguousarray(b)
>>> b.flags['C_CONTIGUOUS']
True
>>> b # Не изменяя форму и содержимое самого массива
array([[1, 3],
[2, 4]])