numpy.require¶
-
numpy.
require
(a, dtype=None, requirements=None)[source]¶ 返回满足要求的所提供类型的数组。
此函数用于确保返回具有正确标志的数组以传递给编译代码(可能通过ctypes)。
参数: a:array_like
要转换为满足类型和要求的数组的对象。
dtype:数据类型
所需的数据类型。如果无保留当前dtype。如果您的应用程序要求数据采用原生字节顺序,请将字节序规范作为dtype规范的一部分。
需求:str或str的列表
需求列表可以是以下任何一个
- 'F_CONTIGUOUS'('F') - 确保Fortran连续数组
- 'C_CONTIGUOUS'('C') - 确保一个C连续的数组
- 'ALIGNED'('A') - 确保数据类型对齐数组
- 'WRITEABLE'('W') - 确保可写数组
- 'OWNDATA'('O') - 确保数组拥有自己的数据
- 'ENSUREARRAY',('E') - 确保基数组,而不是子类
也可以看看
asarray
- 将输入转换为ndarray。
asanyarray
- 转换为ndarray,但通过ndarray子类。
ascontiguousarray
- 将输入转换为连续数组。
asfortranarray
- 将输入转换为具有列主存储器顺序的ndarray。
ndarray.flags
- 有关数组的内存布局的信息。
笔记
如果需要,返回的数组将保证具有列出的需求。
例子
>>> x = np.arange(6).reshape(2,3) >>> x.flags C_CONTIGUOUS : True F_CONTIGUOUS : False OWNDATA : False WRITEABLE : True ALIGNED : True UPDATEIFCOPY : False
>>> y = np.require(x, dtype=np.float32, requirements=['A', 'O', 'W', 'F']) >>> y.flags C_CONTIGUOUS : False F_CONTIGUOUS : True OWNDATA : True WRITEABLE : True ALIGNED : True UPDATEIFCOPY : False