選択を変異numpyの:私は、配列の3番目のエントリを変異させたいのpython iはnumpyの中で奇妙なバグに遭遇した
array([[ 1., 2., 3.],
[-4., -5., -6.],
[ 1., 2., -4.]], dtype=float32)
ある
p = np.asarray([[1., 2., 3.], [-4., -5., -6.], [1,2,-4]], dtype=np.float32)
: は、ネストされた配列を考えます条件付きのような
ただし、最後の文は変更されません。 私は
array([[ 1., 2., 3.],
[-4., -5., 6.],
[ 1., 2., 4.]], dtype=float32)
のように出力のために願っていますが、実際にはまったく何もしません。 pは変化しない。 私は多くのことをテストしましたが、なぜpが突然変異しないのか結論には至りません。
もちろん、私は何とかこれを回避することができますが、これは私にとっては奇妙に思えます。 お早めに感謝します。 ダニエル
角括弧の順序を逆にすると、 'p [:, 2] [p [:, 2] <0] * = -1'になります。ブール索引付けは、割り当てを行っていない限り、コピーを返します。これは、最後の索引付け操作にすることで実現できます。 – Jaime
これは私の質問に対する答えです。私はこれを正しいとマークしたいと思います:) –
これで、あなたが受け入れる答えです。 ;-) – Jaime