numpy.ma.MaskedArray.flags#
属性
- ma.MaskedArray.flags#
有关数组内存布局的信息。
备注
可以通过字典方式(如
a.flags['WRITEABLE'])或使用小写属性名(如a.flags.writeable)来访问flags对象。简短标志名仅在字典访问中支持。只有 WRITEBACKIFCOPY、WRITEABLE 和 ALIGNED 标志可以通过直接赋值给属性或字典条目,或者通过调用
ndarray.setflags来由用户更改。数组标志不能随意设置
WRITEBACKIFCOPY 只能设置为
False。仅当数据真正对齐时,ALIGNED 才能设置为
True。仅当数组拥有自己的内存,或者内存的最终所有者暴露了可写缓冲区接口或是一个字符串时,WRITEABLE 才能设置为
True。
数组可以同时是 C 风格和 Fortran 风格的连续的。这对于一维数组来说很清楚,但对于更高维度的数组也可能如此。
即使对于连续数组,如果
arr.shape[dim] == 1或数组没有元素,给定维度arr.strides[dim]的步幅也可能是*任意*的。对于 C 风格的连续数组,通常不满足self.strides[-1] == self.itemsize,对于 Fortran 风格的连续数组,通常不满足self.strides[0] == self.itemsize。- 属性:
- C_CONTIGUOUS (C)
数据在一个连续的 C 风格段中。
- F_CONTIGUOUS (F)
数据在一个连续的 Fortran 风格段中。
- OWNDATA (O)
数组拥有其使用的内存,或者从另一个对象借用内存。
- WRITEABLE (W)
数据区域可以被写入。将此设置为 False 会锁定数据,使其变为只读。视图(切片等)在创建时从其基本数组继承 WRITEABLE,但可写数组的视图可能会在基本数组仍然可写时被后续锁定。(反之则不然,即被锁定的数组的视图不能被设为可写。然而,目前,锁定基本对象不会锁定任何已引用它的视图,因此在这种情况下,可以通过先前创建的可写视图来更改锁定数组的内容。)尝试更改不可写数组会引发 RuntimeError 异常。
- ALIGNED (A)
数据和所有元素都已根据硬件正确对齐。
- WRITEBACKIFCOPY (X)
此数组是另一个数组的副本。在释放基本数组之前,必须调用 C_API 函数 PyArray_ResolveWritebackIfCopy,它将使用此数组的内容更新基本数组。
- 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。