2Dnumpy配列から特定の値を抽出する方法について質問があります
Foo =
array([[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9],
[10, 11, 12]])
Bar =
array([[0, 0, 1],
[1, 2, 3]])
Barの値をインデックスとして使用して、Fooから要素を抽出したいので、最終的Baz
にはと同じ形状の2D行列/配列になりBar
ます。対応するのi
3番目の列はBaz
Foo[(np.array(each j in Bar[:,i]),np.array(i,i,i,i ...))]
Baz =
array([[ 1, 2, 6],
[ 4, 8, 12]])
ネストされたforループをいくつか実行することもできますが、これを実行するためのよりエレガントで、ゴツゴツした方法があるかどうか疑問に思いました。
これが少し複雑な場合は申し訳ありません。さらに説明する必要がある場合はお知らせください。
ありがとう!