我的数据看起来像这样
a = np.arange(9).reshape(3, 3)
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
b = np.array([0, 2], [0, 1], [0, 2])
array([[0, 2],
[0, 1],
[0, 2]])
b
是一个索引二维数组,应该与a
具有相同的行,因此b
-> [0, 2]
的第一行表示选择元素索引{{ 0
2
行的1}}和0
因此,将此索引应用于a
的结果应为
a
但是,我不能像这样申请array([[0, 2],
[3, 4],
[6, 8]])
。经过一番挖掘之后,我找到了一种获得结果的方法
a[b]
现在的问题是,我不知道将a[np.array([0, 0, 1, 1, 2, 2]), np.array([0, 2, 0, 1, 0, 2])].reshape((-1, 2))
array([[0, 2],
[3, 4],
[6, 8]])
转换为b
的人
有什么办法吗?
谢谢。