numpy.copy#

numpy.copy(a, order='K', subok=False)[原始碼]#

傳回給定物件的陣列副本。

參數:
aarray_like

輸入資料。

order{‘C’, ‘F’, ‘A’, ‘K’}, optional

控制副本的記憶體配置。「C」表示 C-order,「F」表示 F-order,「A」表示如果 a 是 Fortran 連續的則為 ‘F’,否則為 ‘C’。「K」表示盡可能匹配 a 的配置。(請注意,此函數和 ndarray.copy 非常相似,但它們的 order= 引數有不同的預設值。)

subokbool, optional

如果為 True,則子類別將被傳遞,否則傳回的陣列將被強制為基底類別陣列 (預設為 False)。

傳回值:
arrndarray

a 的陣列解釋。

另請參閱

ndarray.copy

建立陣列副本的偏好方法

註解

這等同於

>>> np.array(a, copy=True)  

資料的副本是淺層複製,也就是說,對於具有物件 dtype 的陣列,新陣列將指向相同的物件。請參閱 ndarray.copy 中的範例。

範例

>>> import numpy as np

建立陣列 x,具有參考 y 和副本 z

>>> x = np.array([1, 2, 3])
>>> y = x
>>> z = np.copy(x)

請注意,當我們修改 x 時,y 會變更,但 z 不會

>>> x[0] = 10
>>> x[0] == y[0]
True
>>> x[0] == z[0]
False

請注意,np.copy 會清除先前設定的 WRITEABLE=False 旗標。

>>> a = np.array([1, 2, 3])
>>> a.flags["WRITEABLE"] = False
>>> b = np.copy(a)
>>> b.flags["WRITEABLE"]
True
>>> b[0] = 3
>>> b
array([3, 2, 3])