numpy: индексирование 1d массива с многомерным индексом
Как мне индексировать массив данных меньшего размера с помощью массива индекса большего размера?
Например: дан массив данных 1d и массив индекса 2d:
data = np.array([11,12,13])
idx = np.array([[0,1],
[1,2])
Я хотел бы получить 2d массив данных:
np.array([[11,12],
[12,13]])
1 ответ
Это очень просто в Python / NumPy, благодаря продвинутой системе индексации Numpy, вы просто используете свою индексацию в качестве нарезки, например 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]])