numpy.empty_like#
- numpy.empty_like(prototype, dtype=None, order='K', subok=True, shape=None, *, device=None)#
返回一个与给定数组具有相同形状和类型的新数组.
- 参数:
- prototypearray_like
prototype 的形状和数据类型定义了返回数组的相同属性.
- dtypedata-type,可选
覆盖结果的数据类型.
- order{‘C’, ‘F’, ‘A’, 或 ‘K’},可选
覆盖结果的内存布局.“C”表示 C 顺序,“F”表示 F 顺序,“A”如果 prototype 是 Fortran 连续的,则表示“F”,否则表示“C”.“K”表示尽可能匹配 prototype 的布局.
- subokbool,可选.
如果为 True,则新创建的数组将使用 prototype 的子类类型,否则它将是基类数组.默认为 True.
- shapeint 或 int 序列,可选.
覆盖结果的形状.如果 order=’K’ 且维数未更改,将尝试保持顺序,否则,意味着 order=’C’.
- devicestr, optional
用于放置所创建的数组的设备.默认值: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]])