我有一个关于如何从 2D numpy 数组中提取某些值的问题
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
与Bar
. 对应的i
第 th 列Baz
是Foo[(np.array(each j in Bar[:,i]),np.array(i,i,i,i ...))]
Baz =
array([[ 1, 2, 6],
[ 4, 8, 12]])
我可以做几个嵌套的 for 循环,但我想知道是否有更优雅、更 numpy-ish 的方式来做到这一点。
对不起,如果这有点令人费解。让我知道是否需要进一步解释。
谢谢!