我尝试使用sagemath替换Numpy数组中的某些值。 我也希望保留未更改的数组。
sage: N=np.array([[1,2,3],[4,5,6],[8,9,7]])
我将K称为新数组(替换了一些值):
sage: K=N sage: K array([[1, 2, 3], [4, 5, 6], [8, 9, 7]])
sage: K[1,2]=9
sage: K array([[1, 2, 3], [4, 5, 9], [8, 9, 7]])
但问题是:原来的阵列也改变了!!
sage: N array([[1, 2, 3], [4, 5, 9], [8, 9, 7]])
如何仅更改数组K
(并保留而不更改原始数组N)?
答案 0 :(得分:3)
您可以K
复制N
:
K = N.copy()
您遇到的问题是,在原始配方中,K
只是N
所指向的同一记忆的视图。