numpy.ndarray.setflags
-
ndarray.setflags(write=None, align=None, uic=None) -
Устанавливает флаги массива WRITEABLE, ALIGNED, (WRITEBACKIFCOPY и UPDATEIFCOPY).
Эти булевы флаги влияют на то, как numpy интерпретирует область памяти, используемую массивом
a(см. Примечания ниже). Флаг ALIGNED может быть установлен только в значение True, если данные фактически выровнены в соответствии с типом. Флаги WRITEBACKIFCOPY и (устаревший) UPDATEIFCOPY никогда не могут быть установлены в значение True. Флаг WRITEABLE может быть установлен в значение True только если массив владеет своей собственной памятью, или конечный владелец памяти предоставляет интерфейс записываемого буфера, или является строкой. (Исключение для строк сделано для того, чтобы разыменование могло быть выполнено без копирования памяти.)Параметры: -
write : bool, optional -
Описывает, можно ли записывать в
a. -
align : bool, optional -
Описывает, правильно ли
aвыровнен для своего типа. -
uic : bool, optional -
Описывает, является ли
aкопией другого массива «основы».
Примечания
Флаги массива предоставляют информацию о том, как область памяти, используемая для массива, должна интерпретироваться. Используются 7 булевых флагов, только четыре из которых могут быть изменены пользователем: WRITEBACKIFCOPY, UPDATEIFCOPY, WRITEABLE и ALIGNED.
WRITEABLE (W) область данных может быть записана;
ALIGNED (A) данные и шаги выровнены должным образом для оборудования (как определяется компилятором);
UPDATEIFCOPY (U) (устаревший), заменён на WRITEBACKIFCOPY;
WRITEBACKIFCOPY (X) этот массив является копией некоторого другого массива (ссылается на .base). Когда вызывается функция C-API PyArray_ResolveWritebackIfCopy, массив базы будет обновлён содержимым этого массива.
Все флаги могут быть доступны с помощью одной (заглавной) буквы, а также полного названия.
Примеры
>>> y array([[3, 1, 7], [2, 0, 0], [8, 5, 9]]) >>> y.flags C_CONTIGUOUS : True F_CONTIGUOUS : False OWNDATA : True WRITEABLE : True ALIGNED : True WRITEBACKIFCOPY : False UPDATEIFCOPY : False >>> y.setflags(write=0, align=0) >>> y.flags C_CONTIGUOUS : True F_CONTIGUOUS : False OWNDATA : True WRITEABLE : False ALIGNED : False WRITEBACKIFCOPY : False UPDATEIFCOPY : False >>> y.setflags(uic=1) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: cannot set WRITEBACKIFCOPY flag to True -
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.15.4/reference/generated/numpy.ndarray.setflags.html