Spec-Zone.ru › NumPy 1.18

numpy.ma.masked_array.flags

атрибут

masked_array.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.masked_array.flags.html

Spec-Zone.ru

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