Python 替换numpy数组中的某些值

Python 替换numpy数组中的某些值,python,arrays,numpy,sage,Python,Arrays,Numpy,Sage,我试图用sagemath替换Numpy数组中的一些值。 我也想保留不变的数组 sage: N=np.array([[1,2,3],[4,5,6],[8,9,7]]) 我将K称为新数组(替换了一些值): 但问题是:原来的数组也改变了 sage: N array([[1, 2, 3], [4, 5, 9], [8, 9, 7]]) 如何仅更改数组K(并保存而不更改原始数组N)?您可以制作K的副本N: K = N.copy() 您遇到的问题是,在原始公式中,K只是N指向的同一块内存的视图 @un

我试图用sagemath替换Numpy数组中的一些值。 我也想保留不变的数组

sage: N=np.array([[1,2,3],[4,5,6],[8,9,7]])
我将K称为新数组(替换了一些值):

但问题是:原来的数组也改变了

sage: N array([[1, 2, 3], [4, 5, 9], [8, 9, 7]])

如何仅更改数组
K
(并保存而不更改原始数组N)?

您可以制作
K
的副本
N

K = N.copy()

您遇到的问题是,在原始公式中,
K
只是
N
指向的同一块内存的视图

@unutbu你说得对。我在想如果
K
已经存在并且形状相同,那么
K[:]=A
。我刚刚删除了它,因为它不是常规用例。谢谢你抓到那个打字错误。
K = N.copy()