python - 替换 numpy 数组中的一些值

标签 python arrays numpy sage

我正在尝试使用 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/

相关文章:

python - 除了一只 Pandas ,所有行总和

python - psycopg2.extras.DictCursor 不在 postgres 中返回字典

php - 使用数组查询数据库

sql - 如何从返回多行的 SELECT 中创建一个数组

PHP用新结构对多维数组的内容进行分组

python - 在 Python 中排入列

Numpy:如何通过列向量选择二维数组中的行条目

python - 在 Windows 上运行 Django 时出现“WinError 10013”

python - 上传 .pfx 格式的证书时出现错误

添加到数据库的 Python Django 表单