我有一個3列數組。數組的第一列的值在1到10之間。我需要提取第一列爲1的所有行,並規格化此數組的第三列。然後重複同樣的事情,對於其中的第一列等於所有行2等正常化ndarray的切片
如果我運行這段代碼,它留下的數組不變:
for u in np.unique(x[:,0]):
mask= x[:, 0] == u
x[mask][:,2]=x[mask][:,2]/np.sum((x[mask][:,2]))
如果我運行這個代碼等片,我看到r(我在循環中放置了一個打印r)實際上完全按照我的需要工作。唯一的一點是原始數組x不變。
for u in np.unique(x[:,0]):
r = x[x[:, 0] == u]
r[:,2]=r[:,2]/np.sum((x[x[:,0]==u][:,2]))
這是爲什麼?我究竟做錯了什麼???
謝謝隊友! – user3623123