numpy.require #

麻木的。require ( a , dtype = None ,要求= None , * , like = None ) [来源] #

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

此函数对于确保返回具有正确标志的数组以传递给编译代码(可能通过 ctypes)很有用。

参数
类似数组

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

dtype数据类型

所需的数据类型。如果 None 保留当前数据类型。如果您的应用程序要求数据采用本机字节顺序,请将字节顺序规范作为数据类型规范的一部分包含在内。

要求str 或 str 序列

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

  • 'F_CONTIGUOUS' ('F') - 确保 Fortran 连续数组

  • 'C_CONTIGUOUS' ('C') - 确保 C 连续数组

  • 'ALIGNED' ('A') - 确保数据类型对齐数组

  • 'WRITEABLE' ('W') - 确保数组可写

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

  • 'ENSUREARRAY', ('E') - 确保基数组,而不是子类

类似array_like,可选

允许创建非 NumPy 数组的引用对象。如果传入的类似数组like支持__array_function__协议,则结果将由它定义。在这种情况下,它确保创建一个与通过此参数传入的数组对象兼容的数组对象。

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