numpy.matrix.setflags
метод
- matrix.setflags(write=None, align=None, uic=None)
-
Устанавливает флаги массива WRITEABLE, ALIGNED, WRITEBACKIFCOPY соответственно.
Эти булевы флаги влияют на то, как numpy интерпретирует область памяти, используемую
a(см. Примечания ниже). Флаг ALIGNED может быть установлен в True только в том случае, если данные фактически выровнены в соответствии с типом. Флаг WRITEBACKIFCOPY никогда не может быть установлен в True. Флаг WRITEABLE может быть установлен в True только в том случае, если массив владеет своей собственной памятью, или конечный владелец памяти предоставляет интерфейс записи в буфер, или представляет собой строку. (Исключение для строки сделано для того, чтобы распаковка могла быть выполнена без копирования памяти.)- Параметры:
-
- writebool, необязательно
-
Описывает, можно ли записывать в
a. - alignbool, необязательно
-
Описывает, правильно ли выровнен
aдля своего типа. - uicbool, необязательно
-
Описывает, является ли
aкопией другого массива «базы».
Примечания
Флаги массива предоставляют информацию о том, как область памяти, используемая для массива, должна интерпретироваться. Используется 7 булевых флагов, только три из которых может изменить пользователь: WRITEBACKIFCOPY, WRITEABLE и ALIGNED.
WRITEABLE (W) область данных может быть записана;
ALIGNED (A) данные и шаги выровнены должным образом для оборудования (как определено компилятором);
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 >>> y.setflags(write=0, align=0) >>> y.flags C_CONTIGUOUS : True F_CONTIGUOUS : False OWNDATA : True WRITEABLE : False ALIGNED : False WRITEBACKIFCOPY : False >>> y.setflags(uic=1) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: cannot set WRITEBACKIFCOPY flag to True
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.matrix.setflags.html