本文簡要介紹 python 語言中 numpy.copy
的用法。
用法:
numpy.copy(a, order='K', subok=False)
返回給定對象的數組副本。
- a: array_like
輸入數據。
- order: {‘C’、‘F’、‘A’、‘K’},可選
控製副本的內存布局。 “C”表示C-order,“F”表示F-order,“A”表示“F”,如果a是 Fortran 連續的,否則為“C”。 ‘K’表示匹配布局a盡可能接近。 (請注意,此函數和numpy.ndarray.copy非常相似,但其 order= 參數具有不同的默認值。)
- subok: 布爾型,可選
如果為 True,則子類將為 passed-through,否則返回的數組將被強製為 base-class 數組(默認為 False)。
- arr: ndarray
a. 數組解釋
參數:
返回:
注意:
這相當於:
>>> np.array(a, copy=True)
例子:
創建一個數組 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])
請注意,np.copy 是淺複製,不會複製數組內的對象元素。這對於包含 Python 對象的數組非常重要。新數組將包含相同的對象,如果該對象可以修改(可變),則可能會導致意外:
>>> a = np.array([1, 'm', [2, 3, 4]], dtype=object) >>> b = np.copy(a) >>> b[2][0] = 10 >>> a array([1, 'm', list([10, 3, 4])], dtype=object)
要確保複製
object
數組中的所有元素,請使用copy.deepcopy
:>>> import copy >>> a = np.array([1, 'm', [2, 3, 4]], dtype=object) >>> c = copy.deepcopy(a) >>> c[2][0] = 10 >>> c array([1, 'm', list([10, 3, 4])], dtype=object) >>> a array([1, 'm', list([2, 3, 4])], dtype=object)
相關用法
- Python numpy copysign用法及代碼示例
- Python numpy count_nonzero用法及代碼示例
- Python numpy correlate用法及代碼示例
- Python numpy cosh用法及代碼示例
- Python numpy conjugate用法及代碼示例
- Python numpy concatenate用法及代碼示例
- Python numpy cos用法及代碼示例
- Python numpy cov用法及代碼示例
- Python numpy conj用法及代碼示例
- Python numpy corrcoef用法及代碼示例
- Python numpy convolve用法及代碼示例
- Python numpy column_stack用法及代碼示例
- Python numpy compress用法及代碼示例
- Python numpy common_type用法及代碼示例
- Python numpy chararray.ndim用法及代碼示例
- Python numpy chebyshev.chebsub用法及代碼示例
- Python numpy chararray.nbytes用法及代碼示例
- Python numpy chebyshev.chebdiv用法及代碼示例
- Python numpy chararray.setflags用法及代碼示例
- Python numpy chararray.flat用法及代碼示例
- Python numpy can_cast用法及代碼示例
- Python numpy chararray.strides用法及代碼示例
- Python numpy chebyshev.cheb2poly用法及代碼示例
- Python numpy chararray.view用法及代碼示例
- Python numpy chebyshev.chebx用法及代碼示例
注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.copy。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。