numpy.require

numpy.require(a, dtype=None, requirements=None)

Функция require() интерпретирует входные данные как массив, который соответствует указанному типу и флагам.

Параметры:
a - подобный массиву объект
Входные данные, которые должны быть преобразованы в массив с указанным типом и значением флагов. Входные данные которые могут быть преобразованы в массив: списки и кортежи, списки списков и кортежи кортежей, списки кортежей и кортежи списков, а так же кортежи или списки других массивов NumPy.
dtype - тип данных NumPy (необязательный)
Определяет тип данных выходного массива. По умолчанию None, что соответствует сохранению текущего типа данных.
requirements - строка или список строк
Определяет необходимые флаги:
  • 'F_CONTIGUOUS' ('F') - обеспечивает массив с организацией в памяти в стиле Fortran;
  • 'C_CONTIGUOUS' ('C') - обеспечивает массив с организацией в памяти в стиле C;
  • 'ALIGNED' ('A') - обеспечивает массив с выровненным типом данных;
  • 'WRITEABLE' ('W') - обеспечивает массив с доступом для записи;
  • 'OWNDATA' ('O') - обеспечивает массив, который имеет собственные данные (не является представлением);
  • 'ENSUREARRAY' ('E') - обеспечивает массив базового класса ndarray, а не его подкласс.
Возвращает:
ndarray - массив NumPy
Массив который соответствует указанным типу данных и флагам.
Смотрите так же: asfortranarray, ascontiguousarray, asfarray

Замечание

Эта функция полезна, тем что помогает убедиться в том, что данный массив имеет все флаги установленные в правильные значения. Возвращаемый массив будет гарантированно соответствовать всем указанным требованиям.


Примеры

>>> import numpy as np
>>> 
>>> a = np.array([[1, 2], [3, 4]])
>>> a.flags
  C_CONTIGUOUS : True
  F_CONTIGUOUS : False
  OWNDATA : True
  WRITEABLE : True
  ALIGNED : True
  UPDATEIFCOPY : False
>>> 
>>> b = np.require(a, requirements = 'F')
>>> b.flags
  C_CONTIGUOUS : False
  F_CONTIGUOUS : True
  OWNDATA : True
  WRITEABLE : True
  ALIGNED : True
  UPDATEIFCOPY : False