numpy.require#
- numpy.требовать(a, dtype=None, требования=None, *, как=None)[источник]#
Вернуть ndarray указанного типа, удовлетворяющий требованиям.
Эта функция полезна, чтобы убедиться, что массив с правильными флагами возвращается для передачи в скомпилированный код (возможно, через ctypes).
- Параметры:
- aarray_like
Объект для преобразования в массив, удовлетворяющий требованиям типа.
- dtypeтип данных
Требуемый тип данных. Если None, сохранить текущий dtype. Если ваше приложение требует, чтобы данные были в собственном порядке байтов, включите спецификацию порядка байтов как часть спецификации dtype.
- требованияstr или последовательность str
Список требований может быть любым из следующих
‘F_CONTIGUOUS’ (‘F’) - обеспечить массив с непрерывностью по Фортрану
'C_CONTIGUOUS' ('C') - обеспечить C-непрерывный массив
‘ALIGNED’ (‘A’) - обеспечить массив с выровненным типом данных
'WRITEABLE' ('W') - обеспечить записываемый массив
‘OWNDATA’ (‘O’) — обеспечить, чтобы массив владел своими собственными данными
‘ENSUREARRAY’, (‘E’) - обеспечить базовый массив вместо подкласса
- какarray_like, необязательный
Объект-ссылка, позволяющий создавать массивы, которые не являются массивами NumPy. Если массивоподобный объект, переданный как
likeподдерживает__array_function__протокол, результат будет определен им. В этом случае он гарантирует создание объекта массива, совместимого с переданным через этот аргумент.Новое в версии 1.20.0.
- Возвращает:
- выходndarray
Массив с указанными требованиями и типом, если задан.
Смотрите также
asarrayПреобразует входные данные в ndarray.
asanyarrayПреобразовать в ndarray, но пропустить подклассы ndarray.
ascontiguousarrayПреобразовать входные данные в непрерывный массив.
asfortranarrayПреобразует входные данные в ndarray с порядком памяти по столбцам.
ndarray.flagsИнформация о расположении памяти массива.
Примечания
Возвращаемый массив будет гарантированно иметь перечисленные требования путём создания копии при необходимости.
Примеры
>>> import numpy as np >>> x = np.arange(6).reshape(2,3) >>> x.flags C_CONTIGUOUS : True F_CONTIGUOUS : False OWNDATA : False WRITEABLE : True ALIGNED : True WRITEBACKIFCOPY : False
>>> y = np.require(x, dtype=np.float32, requirements=['A', 'O', 'W', 'F']) >>> y.flags C_CONTIGUOUS : False F_CONTIGUOUS : True OWNDATA : True WRITEABLE : True ALIGNED : True WRITEBACKIFCOPY : False