Spec-Zone.ru › NumPy 1.15

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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.15.4/reference/generated/numpy.matrix.flags.html

Spec-Zone.ru

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