为什么我的变量'D8'在第二行中更新?


D8 = D7
D7[np.eye(D7.shape[0], D7.shape[1]).astype('bool')] = np.nan

我想在第二行之前将D7保存为D8,但运行第二行会以某种方式改变D8??

我不明白为什么会发生这种情况。

我希望D8在第二行之后保持不变,但是当我只想在D7中使用它时,我正在沿着D7和D8的对角线获得NaN。

D8是对D7的引用,而不是复制。如果您想要D7的真实副本,请使用D8 = D7.copy()。

- MattDMo 7 mins ago

谢谢MattDMo!