numpy.matrix.setflags
метод
-
matrix.setflags(write=None, align=None, uic=None) -
Устанавливает флаги массива WRITEABLE, ALIGNED, (WRITEBACKIFCOPY и UPDATEIFCOPY), соответственно.
Эти булевы флаги влияют на то, как numpy интерпретирует область памяти, используемую
a(см. Примечания ниже). Флаг ALIGNED может быть установлен в True только в том случае, если данные фактически выровнены в соответствии с типом. Флаги WRITEBACKIFCOPY и (устаревший) UPDATEIFCOPY никогда не могут быть установлены в True. Флаг WRITEABLE может быть установлен в True только в том случае, если массив владеет своей собственной памятью, или конечный владелец памяти предоставляет интерфейс доступный для записи буфера, или является строкой. (Исключение для строки сделано для того, чтобы распаковка могла выполняться без копирования памяти.)- Параметры
-
-
writebool, optional -
Описывает, может ли
aбыть записан. -
alignbool, optional -
Описывает, правильно ли
aвыровнен для своего типа. -
uicbool, optional -
Описывает, является ли
aкопией другого массива «базы».
-
Примечания
Флаги массива предоставляют информацию о том, как должна интерпретироваться область памяти, используемая для массива. Используются 7 булевых флагов, из которых пользователь может изменить только четыре: WRITEBACKIFCOPY, UPDATEIFCOPY, WRITEABLE и ALIGNED.
WRITEABLE (W) область данных может быть записана;
ALIGNED (A) данные и шаги правильно выровнены для оборудования (как определено компилятором);
UPDATEIFCOPY (U) (устаревший), заменён на WRITEBACKIFCOPY;
WRITEBACKIFCOPY (X) этот массив является копией некоторого другого массива (ссылка с помощью .base). Когда вызывается функция C-API PyArray_ResolveWritebackIfCopy, базовый массив будет обновлён содержимым этого массива.
Все флаги могут быть доступны с помощью одной (заглавной) буквы, а также полного имени.
Примеры
>>> y = np.array([[3, 1, 7], ... [2, 0, 0], ... [8, 5, 9]]) >>> 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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.matrix.setflags.html