numpy.require

原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.require.html

译者:飞龙 UsyiyiCN

校对:(虚位以待)

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