numpy.recarray.flags
-
recarray.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.14.5/reference/generated/numpy.recarray.flags.html