Spec-Zone.ru › NumPy 1.20

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API