numpy.ascontiguousarray

numpy.ascontiguousarray(a, dtype=None)

Функция ascontiguousarray() возвращает непрерывный массив в памяти с организацией порядка элементов в С-стиле.

Параметры:
a - некоторая последовательность
Входные данные которые могут быть преобразованы в массив: списки и кортежи, списки списков и кортежи кортежей, списки кортежей и кортежи списков, а так же кортежи или списки других массивов NumPy.
dtype - тип данных NumPy (необязательный)
Определяет тип данных выходного массива.
Возвращает:
результат - массив NumPy
Интерпретирует входные данные a как массив NumPy, с порядком организации в памяти в С-стиле. Если в качестве a передан существующий массив NumPy, с порядком организации в памяти отличным от C-стиля, то он будет к нему приведен. Если указать параметр dtype, то он изменит тип данных выходного массива.
Смотрите так же: asfortranarray, asarray_chkfinite, require

Примеры

>>> 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]])