numpy.require

numpy.require(a, dtype=None, requirements=None, *, like=None)[源代码]

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

此函数用于确保返回带有正确标志的数组以传递到编译代码(可能通过CTypes)。

参数
aarray_like

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

dtype数据类型

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

requirementsstr或str列表

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

  • 'f_continuous'('f')-确保Fortran连续数组

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

  • “Aligned”(“A”)—确保数据类型对齐的数组

  • '可写'('w')-确保可写数组

  • 'owndaa'('o')-确保数组拥有自己的数据

  • ‘EnsureRay’,(‘e’)—确保基数组,而不是子类

likearray_like

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

注解

这个 like 关键字是一个实验性的特性,有待接受 NEP 35 .

1.20.0 新版功能.

返回
out恩达雷

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

参见

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