簡體   English   中英

在Python中如何制作numpy Matrix列的副本,以便對副本的任何進一步操作不會影響原始矩陣?

[英]In Python how do I make a copy of a numpy Matrix column such that any further operations to the copy does not affect the original matrix?

我通常會復制整個矩陣如下:

from copy import copy, deepcopy
b=np.array([[2,3],[1,2]])
a = np.empty_like (b)
a[:] = b

(注意a和b不是我在我的代碼中使用的,只是為這個例子編寫的)。 但是,如何僅復制矩陣的第一列(或任何選定的列),以便在對其進行操作時不會影響原始列?

PS。 我很新,很抱歉如果我犯了一個非常愚蠢的錯誤,但我確實已經搜索了很長時間的解決方案

只需使用索引來對列進行切片,然后使用array對象的copy()屬性來創建副本:

>>> b=np.array([[2,3],[1,2]])
>>> b
array([[2, 3],
       [1, 2]])
>>> a = b[:,0].copy()
>>> a
array([2, 1])
>>> a += 2
>>> a
array([4, 3])
>>> b
array([[2, 3],
       [1, 2]])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM