本文简要介绍 python 语言中 numpy.recarray.setflags
的用法。
用法:
recarray.setflags(write=None, align=None, uic=None)
分别设置数组标志 WRITEABLE、ALIGNED、(WRITEBACKIFCOPY 和 UPDATEIFCOPY)。
这些布尔值标志会影响 numpy 如何解释 a 使用的内存区域(请参阅下面的注释)。如果数据实际上是根据类型对齐的,则 ALIGNED 标志只能设置为 True。 WRITEBACKIFCOPY 和(不推荐使用的)UPDATEIFCOPY 标志永远不能设置为 True。如果数组拥有自己的内存,或者内存的最终所有者公开了可写缓冲区接口,或者是字符串,则标志 WRITEABLE 只能设置为 True。 (string 的例外是为了在不复制内存的情况下进行 unpickling。)
- write: 布尔型,可选
说明是否可以写入 a。
- align: 布尔型,可选
说明 a 是否与其类型正确对齐。
- uic: 布尔型,可选
说明 a 是否是另一个 “base” 数组的副本。
参数:
注意:
数组标志提供有关如何解释用于数组的内存区域的信息。有 7 个布尔标志在使用中,其中只有四个可以由用户更改:WRITEBACKIFCOPY、UPDATEIFCOPY、WRITEABLE 和 ALIGNED。
WRITEABLE (W) 数据区可写;
对齐 (A) 数据和步幅针对硬件适当对齐(由编译器确定);
UPDATEIFCOPY (U)(已弃用),替换为 WRITEBACKIFCOPY;
WRITEBACKIFCOPY (X) 该数组是某个其他数组(由 .base 引用)的副本。当调用C-API 函数PyArray_ResolveWritebackIfCopy 时,将使用该数组的内容更新基本数组。
可以使用单个(大写)字母和全名访问所有标志。
例子:
>>> y = np.array([[3, 1, 7], ... [2, 0, 0], ... [8, 5, 9]]) >>> y array([[3, 1, 7], [2, 0, 0], [8, 5, 9]]) >>> y.flags C_CONTIGUOUS : True F_CONTIGUOUS : False OWNDATA : True WRITEABLE : True ALIGNED : True WRITEBACKIFCOPY : False UPDATEIFCOPY : False >>> y.setflags(write=0, align=0) >>> y.flags C_CONTIGUOUS : True F_CONTIGUOUS : False OWNDATA : True WRITEABLE : False ALIGNED : False WRITEBACKIFCOPY : False UPDATEIFCOPY : False >>> y.setflags(uic=1) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: cannot set WRITEBACKIFCOPY flag to True
相关用法
- Python numpy recarray.setfield用法及代码示例
- Python numpy recarray.sort用法及代码示例
- Python numpy recarray.size用法及代码示例
- Python numpy recarray.strides用法及代码示例
- Python numpy recarray.dot用法及代码示例
- Python numpy recarray.itemset用法及代码示例
- Python numpy recarray.view用法及代码示例
- Python numpy recarray.tolist用法及代码示例
- Python numpy recarray.flat用法及代码示例
- Python numpy recarray.astype用法及代码示例
- Python numpy recarray.itemsize用法及代码示例
- Python numpy recarray.tostring用法及代码示例
- Python numpy recarray.flatten用法及代码示例
- Python numpy recarray.item用法及代码示例
- Python numpy recarray.getfield用法及代码示例
- Python numpy recarray.ndim用法及代码示例
- Python numpy recarray.byteswap用法及代码示例
- Python numpy recarray.T用法及代码示例
- Python numpy recarray.nbytes用法及代码示例
- Python numpy recarray.fill用法及代码示例
- Python numpy recarray.resize用法及代码示例
- Python numpy recarray.copy用法及代码示例
- Python numpy recarray.newbyteorder用法及代码示例
- Python numpy recarray.transpose用法及代码示例
- Python numpy recarray.partition用法及代码示例
注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.recarray.setflags。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。