Python numpy.require()
numpy.require()函数对数组很有用,当正确的标志被返回时,满足了传递给编译代码的要求(也许是通过ctypes)。
语法: numpy.require(a, dtype=None, requirements=None)
参数:
a : array_like
dtype :数据类型
requirements:字符串或字符串列表
要求清单可以是以下任何一项。
- ‘F’ : ‘F_CONTIGUOUS’ – 确保一个Fortran-contiguous数组。
- ‘C’ : ‘C_CONTIGUOUS’ – 确保一个C-连续的数组。
- ‘A’ : ‘ALIGNED’ – 确保一个数据类型的对齐阵列。
- ‘W’ : ‘WRITABLE’ – 确保一个可写的数组。
- ‘O’ : ‘OWNDATA’ – 确保一个拥有自己的数据的阵列。
- ‘E’ : ‘ENSUREARRAY’ – 确保一个基数组,而不是一个子类。
返回: ndarray
异常: ValueError – 引起ValueError。
代码 #1:
# Python program explaining
# numpy.require() function
# importing numpy
import numpy as np
# creating 4 x 4 array
data = np.arange(16).reshape(4, 4)
data.flags
输出:
C_CONTIGUOUS : True
F_CONTIGUOUS : False
OWNDATA : False
WRITABLE : True
ALIGNED : True
WRITEBACKIFCOPY : False
UPDATEIFCOPY : False
代码 #2:
import numpy as np
# Python program explaining
# numpy.require()
b = np.require(data, dtype=np.float32,
requirements=['A', 'W', 'O', 'C'])
b.flags
输出:
C_CONTIGUOUS : True
F_CONTIGUOUS : False
OWNDATA : True
WRITABLE : True
ALIGNED : True
WRITEBACKIFCOPY : False
UPDATEIFCOPY : False