我正在尝试操作矩阵的副本,如下所示。
import numpy as np
A = np.matrix([[4, 1, -1, 1], [1, 4, -1, -1], [-1, -1, 5, 1], [1, -1, 1, 3]])
B = A
B[0, 0] = 0
这也会将 A 的 00-entry 更改为 0,但我不希望这种情况发生。我也用 np.array() 尝试过,但同样的事情又发生了。我认为这是因为 A 和 B 指向内存中的同一位置。
如果有人让我知道如何在 B 更改时防止 A 更改,我将不胜感激。
最佳答案
您完全正确,A
和 B
在您的情况下指向相同的内存分配。
numpy
有一个复制函数可以实现您想要实现的目标:
B = np.copy(A)
关于python - 操作 numpy 矩阵的副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52753114/