numpy.empty_like#
- numpy.empty_like(prototype, dtype=None, order='K', subok=True, shape=None, *, device=None)#
返回一个与给定数组具有相同形状和类型的新数组。
- 参数:
- prototype类数组
prototype 的形状和数据类型定义了返回数组的这些相同属性。
- dtype数据类型,可选
覆盖结果的数据类型。
- order{‘C’, ‘F’, ‘A’ 或 ‘K’},可选
覆盖结果的内存布局。‘C’ 表示 C 顺序,‘F’ 表示 F 顺序,‘A’ 表示如果 prototype 是 Fortran 连续的则为 ‘F’,否则为 ‘C’。‘K’ 表示尽可能匹配 prototype 的布局。
- subok布尔值,可选。
如果为 True,则新创建的数组将使用 prototype 的子类类型,否则它将是一个基类数组。默认为 True。
- shape整数或整数序列,可选。
覆盖结果的形状。如果 order=’K’ 且维度数量不变,则会尝试保持原有顺序;否则,将默认为 order=’C’。
- device字符串,可选
创建的数组放置的设备。默认值:None。仅用于 Array-API 互操作性,如果传递了值,则必须是
"cpu"
。2.0.0 版新增。
- 返回:
- outndarray
具有与 prototype 相同形状和类型的未初始化(任意)数据数组。
另请参阅
ones_like
返回一个与输入具有相同形状和类型且元素全为 1 的数组。
zeros_like
返回一个与输入具有相同形状和类型且元素全为 0 的数组。
full_like
返回一个与输入具有相同形状且填充指定值的新数组。
empty
返回一个未初始化的新数组。
注意
与其他数组创建函数(例如
zeros_like
,ones_like
,full_like
)不同,empty_like
不会初始化数组的值,因此可能略快一些。然而,新分配的数组中存储的值是任意的。为了获得可重现的行为,请务必在读取数组的每个元素之前对其进行设置。示例
>>> import numpy as np >>> a = ([1,2,3], [4,5,6]) # a is array-like >>> np.empty_like(a) array([[-1073741821, -1073741821, 3], # uninitialized [ 0, 0, -1073741821]]) >>> a = np.array([[1., 2., 3.],[4.,5.,6.]]) >>> np.empty_like(a) array([[ -2.00000715e+000, 1.48219694e-323, -2.00000572e+000], # uninitialized [ 4.38791518e-305, -2.00000715e+000, 4.17269252e-309]])