numpy.matrix.setflags
-
matrix.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.matrix.setflags.html