python - 操作 numpy 矩阵的副本

标签 python numpy

我正在尝试操作矩阵的副本,如下所示。

import numpy as np

A = np.matrix([[4, 1, -1, 1], [1, 4, -1, -1], [-1, -1, 5, 1], [1, -1, 1, 3]])

B = A

B[0, 0] = 0

这也会将 A 的 00-entry 更改为 0,但我不希望这种情况发生。我也用 np.array() 尝试过,但同样的事情又发生了。我认为这是因为 A 和 B 指向内存中的同一位置。

如果有人让我知道如何在 B 更改时防止 A 更改,我将不胜感激。

最佳答案

您完全正确,AB 在您的情况下指向相同的内存分配。
numpy 有一个复制函数可以实现您想要实现的目标:

B = np.copy(A)

关于python - 操作 numpy 矩阵的副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52753114/

相关文章:

python - 如何处理列表理解中的错误

python - 如何测试字典是否包含某些键

python - 测试一个数组是否可以广播到一个形状?

python - 处理线性回归中的 NaN——scipy?

python - pylab 导入状态?

python - 如何使用 Python 的 Xlib 将文本写入根窗口?

python - Abaqus 中的 Scipy

没有填充的python卷积

python - numpy/pandas/python 中用于搜索和替换的任何函数

java - Python - 集成 Java GUI 和 python 代码的最佳方式