jupyter中在循环里设置的变量会改变循环外的数组
t = np.array(range(12)).reshape(3,4).astype(float)
t[1,2:]=np.nan
print(t)
for i in range(t.shape[1]):
a = t[:,i]
a[2]=0
print(t)
[[ 0. 1. 2. 3.]
[ 4. 5. nan nan]
[ 8. 9. 10. 11.]]
[[ 0. 1. 2. 3.]
[ 4. 5. nan nan]
[ 0. 0. 0. 0.]]
应该是循环里第一行将a和t联系到一起了,然后改变a的值同时改变了t。
我想知道为啥改变a就会改变t呢?
不知道你这个问题是否已经解决, 如果还没有解决的话: