Spec-Zone.ru › NumPy 1.21

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

Spec-Zone.ru

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