如何将2-d数组转换为2个1-d数组numpy索引?

时间:2019-08-20 19:07:41

标签: python arrays numpy

我的数据看起来像这样

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的人

有什么办法吗?

谢谢。

0 个答案:

没有答案