[英]Why does numpy.copy of a numpy.matrix not act like the original matrix? Multiplication with the transpose of that copy does not work
[英]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.