numpy.ascontiguousarray#
- numpy.ascontiguousarray(a, dtype=None, *, как=None)#
Возвращает непрерывный массив (ndim >= 1) в памяти (порядок C).
- Параметры:
- aarray_like
Входной массив.
- dtypestr или объект dtype, необязательно
Тип данных возвращаемого массива.
- какarray_like, необязательный
Объект-ссылка, позволяющий создавать массивы, которые не являются массивами NumPy. Если массивоподобный объект, переданный как
likeподдерживает__array_function__протокол, результат будет определен им. В этом случае он гарантирует создание объекта массива, совместимого с переданным через этот аргумент.Новое в версии 1.20.0.
- Возвращает:
- выходndarray
Непрерывный массив той же формы и содержимого, что и a, с типом
dtypeесли указано.
Смотрите также
asfortranarrayПреобразует входные данные в ndarray с порядком памяти по столбцам.
requireВернуть ndarray, удовлетворяющий требованиям.
ndarray.flagsИнформация о расположении памяти массива.
Примеры
Начиная с массива с порядком хранения Fortran:
>>> import numpy as np >>> x = np.ones((2, 3), order='F') >>> x.flags['F_CONTIGUOUS'] True
Вызов
ascontiguousarrayсоздает C-непрерывную копию:>>> y = np.ascontiguousarray(x) >>> y.flags['C_CONTIGUOUS'] True >>> np.may_share_memory(x, y) False
Теперь, начиная с C-смежного массива:
>>> x = np.ones((2, 3), order='C') >>> x.flags['C_CONTIGUOUS'] True
Затем, вызов
ascontiguousarrayвозвращает тот же объект:>>> y = np.ascontiguousarray(x) >>> x is y True
Примечание: Эта функция возвращает массив как минимум с одним измерением (1-d), поэтому она не сохранит 0-d массивы.