NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。本文主要介绍一下NumPy中require方法的使用。

numpy.require

numpy.require(a, dtype=None, requirements=None)      [source]

返回提供的类型满足要求的ndarray。

此函数对于确保返回具有正确标志的数组以传递给已编译的代码(也许通过ctypes)非常有用。

参数 :

a :array_like

要转换为满足类型和要求的对象的对象。

dtype :data-type

所需的数据类型。 如果为None,则保留当前dtype。 

如果您的应用程序要求数据以本机字节序显示,

请在dtype规范中包含字节序规范。

requirements :str 或 str类型的list

需求列表可以是以下任意一项 :

‘F_CONTIGUOUS’ (‘F’) :确保Fortran连续数组 

‘C_CONTIGUOUS’ (‘C’) :确保C连续数组 

'ALIGNED' ('A') :确保数据类型对齐的数组 

‘WRITEABLE’ (‘W’) :确保可写数组

'OWNDATA' ('O') : 确保数组拥有自己的数据 

‘ENSUREARRAY’, (‘E’) : 确保基本数组而不是子类

返回值 :

out :ndarray

如果给定,则具有指定要求和类型的数组。

Notes

如果需要,可以通过复制副本来保证返回的数组具有列出的要求。

例子

>>> 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

推荐文档

相关文档

大家感兴趣的内容

随机列表