numpy: индексирование 1d массива с многомерным индексом - PullRequest
0 голосов
/ 20 сентября 2018

Как мне индексировать массив данных меньшего размера с помощью массива индекса большего размера?

Например: учитывая массив данных 1d и массив индексов 2d:

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

Я хотел бы получить массив данных 2D:

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

1 Ответ

0 голосов
/ 20 сентября 2018

Это очень просто в 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]])
...