numpy.ndarray.flags
-
ndarray.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.
- UPDATEIFCOPY можно установить только
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.15.4/reference/generated/numpy.ndarray.flags.html