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
- Массив который соответствует указанным типу данных и флагам.
Замечание
Эта функция полезна, тем что помогает убедиться в том, что данный массив имеет все флаги установленные в правильные значения. Возвращаемый массив будет гарантированно соответствовать всем указанным требованиям.
Примеры
>>> 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