numpy:使用多维索引索引一维数组

时间:2018-09-20 14:43:08

标签: numpy numpy-ndarray numpy-indexing

如何用高维索引数组索引低维数据数组?

例如:给定一个1d数据数组和2d索引数组:

data = np.array([11,12,13])
idx = np.array([[0,1],
                [1,2])

我想得到一个二维数据数组:

np.array([[11,12],
          [12,13]])

1 个答案:

答案 0 :(得分:2)

在Python / NumPy中,这非常容易,这要归功于advanced Numpy indexing system,您只需将索引用作切片即可,例如data[idx]

data = np.array([11,12,13])
idx = np.array([[0,1],
                [1,2]])

# this will produce the correct result
data[idx]
# array([[11, 12],
#        [12, 13]])