Spec-Zone.ru › NumPy 1.20

numpy.ma.MaskedArray.flags

атрибут

ma.MaskedArray.flags

Информация о расположении данных в памяти массива.

Примечания

К объекту flags можно обратиться как к словарю (как в a.flags['WRITEABLE']), или используя имена атрибутов в нижнем регистре (как в a.flags.writeable). Короткое имя флага поддерживается только в доступе по словарю.

Только флаги WRITEBACKIFCOPY, UPDATEIFCOPY, WRITEABLE и ALIGNED можно изменить пользователем, напрямую присвоив значение атрибуту или элементу словаря, или вызвав ndarray.setflags.

Флаги массива не могут быть установлены произвольно:

  • UPDATEIFCOPY может быть установлен только False.
  • WRITEBACKIFCOPY может быть установлен только False.
  • ALIGNED может быть установлен только True, если данные действительно выровнены.
  • WRITEABLE может быть установлен только True, если массив владеет своей памятью, или конечный владелец памяти предоставляет интерфейс записи буфера, или это строка.

Массивы могут быть одновременно и C-стилевыми, и Fortran-стилевыми.

Даже для непрерывных массивов шаг для данного измерения arr.strides[dim] может быть произвольным, если arr.shape[dim] == 1 или массив не содержит элементов. В общем случае self.strides[-1] == self.itemsize для C-стилевых непрерывных массивов или self.strides[0] == self.itemsize для Fortran-стилевых непрерывных массивов не обязательно верно.

Атрибуты
C_CONTIGUOUS (C)

Данные находятся в одном C-стилевом непрерывном сегменте.

F_CONTIGUOUS (F)

Данные находятся в одном Fortran-стилевом непрерывном сегменте.

OWNDATA (O)

Массив владеет памятью, которую использует, или заимствует её от другого объекта.

WRITEABLE (W)

Область данных может быть записана. Установка в False блокирует данные, делая их только для чтения. Вид (срез и т.п.) наследует WRITEABLE от базового массива во время создания, но вид изменяемого массива может быть заблокирован позже, в то время как базовый массив остается изменяемым. (Обратное неверно, так как вид заблокированного массива не может быть сделан изменяемым. Тем не менее, в настоящее время блокировка базового объекта не блокирует никакие виды, которые уже ссылаются на него, поэтому в этом случае можно изменить содержимое заблокированного массива через ранее созданный изменяемый вид на него.) Попытка изменить неизменяемый массив вызывает исключение RuntimeError.

ALIGNED (A)

Данные и все элементы правильно выровнены для оборудования.

WRITEBACKIFCOPY (X)

Этот массив является копией другого массива. Функция C-API PyArray_ResolveWritebackIfCopy должна быть вызвана перед освобождением памяти, чтобы базовый массив был обновлён содержимым этого массива.

UPDATEIFCOPY (U)

(Устарело, используйте WRITEBACKIFCOPY) Этот массив является копией другого массива. При освобождении памяти этого массива, базовый массив будет обновлен содержимым этого массива.

FNC

F_CONTIGUOUS и не C_CONTIGUOUS.

FORC

F_CONTIGUOUS или C_CONTIGUOUS (тест на один сегмент).

BEHAVED (B)

ALIGNED и WRITEABLE.

CARRAY (CA)

BEHAVED и C_CONTIGUOUS.

FARRAY (FA)

BEHAVED и F_CONTIGUOUS, и не C_CONTIGUOUS.

© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.ma.MaskedArray.flags.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API