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-order,‘F’ 代表 F-order,‘A’ 代表如果 prototype 是 Fortran contiguous 則為 ‘F’,否則為 ‘C’。‘K’ 代表盡可能匹配 prototype 的佈局。

subokbool,選填。

如果為 True,則新建立的陣列將使用 prototype 的子類別類型,否則它將是一個基底類別陣列。預設為 True。

shape整數或整數序列,選填。

覆寫結果的形狀。如果 order=’K’ 且維度數量不變,將嘗試保持 order,否則,order=’C’ 是隱含的。

device字串,選填

要在其上放置建立陣列的裝置。預設值:None。僅適用於 Array-API 互操作性,因此如果傳遞,則必須為 "cpu"

版本 2.0.0 新增。

傳回值:
outndarray

prototype 具有相同形狀和類型的未初始化(任意)資料陣列。

另請參閱

ones_like

傳回一個與輸入具有相同形狀和類型的全 1 陣列。

zeros_like

傳回一個與輸入具有相同形狀和類型的全 0 陣列。

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