Spec-Zone.ru › NumPy 1.18

numpy.matrix.flags

атрибут

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

Spec-Zone.ru

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