私は3列の配列を持っています。配列の最初の列は1〜10の値を持ちます。最初の列が1の行をすべて抽出し、この配列の3番目の列を正規化する必要があります。そして、最初の列に等しいされているすべての行に対して同じことを繰り返して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