如何用高维索引数组索引低维数据数组?
例如:给定一个1d数据数组和2d索引数组:
data = np.array([11,12,13])
idx = np.array([[0,1],
[1,2])
我想得到一个二维数据数组:
np.array([[11,12],
[12,13]])
答案 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]])