numpy.empty_like#

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

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

参数:
prototypearray_like

prototype 的形状和数据类型定义了返回数组的这些相同属性.

dtype数据类型, 可选

覆盖结果的数据类型.

在 1.6.0 版本加入.

order{‘C’, ‘F’, ‘A’, 或 ‘K’}, 可选

覆盖结果的内存布局.’C’ 表示 C 顺序,’F’ 表示 F 顺序,’A’ 表示如果 prototype 是 Fortran 连续的,则为 ‘F’,否则为 ‘C’.’K’ 表示尽可能匹配 prototype 的布局.

在 1.6.0 版本加入.

subokbool, 可选.

如果为 True,则新创建的数组将使用 prototype 的子类类型,否则它将是一个基类数组.默认为 True.

shapeint 或 int 序列,可选.

覆盖结果的形状.如果 order=’K’ 并且维度数量不变,将尝试保持顺序,否则,隐含 order=’C’.

在 1.17.0 版本加入.

devicestr, 可选

要放置创建数组的设备.默认:None.仅用于数组API互操作性,因此如果传递,必须为 "cpu".

在 2.0.0 版本加入.

返回:
outndarray

一个未初始化(任意)数据的数组,形状和类型与 prototype 相同.

参见

ones_like

返回一个形状和类型与输入相同的由1组成的数组.

zeros_like

返回一个形状和类型与输入相同的零数组.

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]])