我正在尝试使用 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)?
最佳答案
您可以将 K
制作为 N
的副本:
K = N.copy()
您遇到的问题是,在您最初的表述中,K
只是 N
指向的同一 block 内存的 View 。
关于python - 替换 numpy 数组中的一些值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17915099/