numpy.
require
返回满足要求的所提供类型的ndarray。
此函数用于确保返回带有正确标志的数组以传递到编译代码(可能通过CTypes)。
要转换为满足类型和要求的数组的对象。
所需的数据类型。如果没有,则保留当前的数据类型。如果应用程序要求数据采用本机字节顺序,请将字节顺序规范作为数据类型规范的一部分。
需求列表可以是以下任一项
'f_continuous'('f')-确保Fortran连续数组
'C'U continuous'('C')-确保C-连续数组
“Aligned”(“A”)—确保数据类型对齐的数组
'可写'('w')-确保可写数组
'owndaa'('o')-确保数组拥有自己的数据
‘EnsureRay’,(‘e’)—确保基数组,而不是子类
引用对象以允许创建非NumPy数组的数组。如果像这样的数组传入为 like 支持 __array_function__ 协议,结果将由它定义。在这种情况下,它确保创建与通过此参数传入的对象兼容的数组对象。
like
__array_function__
注解
这个 like 关键字是一个实验性的特性,有待接受 NEP 35 .
1.20.0 新版功能.
具有指定要求和类型的数组(如果给定)。
参见
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 WRITEBACKIFCOPY : False 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 WRITEBACKIFCOPY : False UPDATEIFCOPY : False