numpy.require
-
numpy.require(a, dtype=None, requirements=None, *, like=None)[source] -
Возвращает ndarray заданного типа, удовлетворяющего требованиям.
Эта функция полезна для того, чтобы убедиться, что для передачи в компилированный код (возможно, через ctypes) возвращается массив с правильными флагами.
- Параметры
-
-
aarray_like -
Объект, который должен быть преобразован в массив, удовлетворяющий требованиям типа.
-
dtypedata-type -
Требуемый тип данных. Если None, сохраняется текущий тип данных. Если вашему приложению необходимо, чтобы данные были в родном порядке байтов, укажите спецификацию порядка байтов в спецификации типа данных.
-
requirementsstr or list of str -
Список требований может быть любым из следующих
- ‘F_CONTIGUOUS’ (‘F’) - гарантирует Фортран-непрерывный массив
- ‘C_CONTIGUOUS’ (‘C’) - гарантирует C-непрерывный массив
- ‘ALIGNED’ (‘A’) - гарантирует массив с выровненным типом данных
- ‘WRITEABLE’ (‘W’) - гарантирует доступный для записи массив
- ‘OWNDATA’ (‘O’) - гарантирует массив, который владеет своими данными
- ‘ENSUREARRAY’, (‘E’) - гарантирует базовый массив, а не подкласс
-
likearray_like -
Объект ссылки, который позволяет создавать массивы, которые не являются массивами NumPy. Если переданный
likeмассивоподобный объект поддерживает протокол__array_function__, результат будет определен им. В этом случае он гарантирует создание объекта массива, совместимого с переданным через этот аргумент.Примечание
Ключевое слово
likeявляется экспериментальной функцией, ожидающей принятия NEP 35.В версии 1.20.0.
-
- Возвращает
-
-
outndarray -
Массив со специфицированными требованиями и типом, если задан.
-
См. также
-
asarray -
Преобразовать входные данные в ndarray.
-
asanyarray -
Преобразовать в ndarray, но пройти через подклассы ndarray.
-
ascontiguousarray -
Преобразовать входные данные в непрерывный массив.
-
asfortranarray -
Преобразовать входные данные в ndarray с порядком памяти по столбцам.
-
ndarray.flags -
Информация о расположении данных массива в памяти.
Примечания
Возвращаемый массив гарантированно будет иметь перечисленные требования, создавая копию, если это необходимо.
Примеры
>>> x = np.arange(6).reshape(2,3) >>> x.flags C_CONTIGUOUS : True F_CONTIGUOUS : False OWNDATA : False WRITEABLE : True ALIGNED : True WRITEBACKIFCOPY : False UPDATEIFCOPY : 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 UPDATEIFCOPY : False
© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.require.html