2

我正在尝试使用 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 的情况下保存)?

4

1 回答 1

3

您可以K复制N

K = N.copy()

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

于 2013-07-29T02:17:06.190 回答