numpy.require
-
numpy.require(a, dtype=None, requirements=None)[source] -
Возвращает массив ndarray заданного типа, удовлетворяющий требованиям.
Эта функция полезна для того, чтобы убедиться, что возвращается массив с правильными флагами для передачи скомпилированному коду (возможно, через ctypes).
Параметры: -
a : array_like -
Объект, который должен быть преобразован в массив, удовлетворяющий требованиям типа.
-
dtype : data-type -
Требуемый тип данных. Если None, сохранить текущий тип данных. Если ваше приложение требует, чтобы данные были в родном байтовом порядке, включите спецификацию байтового порядка в спецификацию типа данных.
-
requirements : str or list of str -
Список требований может быть любым из следующих
- ‘F_CONTIGUOUS’ (‘F’) - обеспечить Fortran-непрерывный массив
- ‘C_CONTIGUOUS’ (‘C’) - обеспечить C-непрерывный массив
- ‘ALIGNED’ (‘A’) - обеспечить выровненный массив типа данных
- ‘WRITEABLE’ (‘W’) - обеспечить доступный для записи массив
- ‘OWNDATA’ (‘O’) - обеспечить массив, который владеет своими данными
- ‘ENSUREARRAY’, (‘E’) - обеспечить базовый массив вместо подкласса
Возвращает: -
out : ndarray -
Массив с заданными требованиями и типом, если задан.
См. также
-
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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.require.html