numpy.ndarray.setflags
метод
- ndarray.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.ndarray.setflags.html