numpy.empty_like#

numpy.empty_like(prototype, dtype=None, order='K', subok=True, shape=None, *, device=None)#

返回一个与给定数组具有相同形状和类型的新数组。

参数:
prototypearray_like

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。仅用于数组 API 互操作性,因此如果传递,则必须为"cpu"

2.0.0 版中的新功能。

返回值:
outndarray

具有与prototype 相同形状和类型的未初始化(任意)数据的数组。

另请参见

ones_like

返回一个具有输入形状和类型的全为一的数组。

zeros_like

返回一个具有输入形状和类型的全为零的数组。

full_like

返回一个具有输入形状并填充值的新的数组。

empty

返回一个新的未初始化数组。

备注

与其他数组创建函数(例如zeros_likeones_likefull_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]])