Spec-Zone.ru › NumPy 1.18

numpy.ma.MaskedArray.flags

атрибут

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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.ma.MaskedArray.flags.html

Spec-Zone.ru

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