Say I have two arrays, G
and gamma
.
>>> G
array([[1, 2, 0],
[1, 1, 1]])
>>> gamma
array([[[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9]],
[[10, 11, 12],
[13, 14, 15],
[16, 17, 18]],
[[19, 20, 21],
[22, 23, 24],
[25, 26, 27]]])
I would like to use each row in G
as a multi-dimensional index into gamma
, i.e. look up the values in gamma
with G
. More concretely, I want to get array([16, 14])
, since
>>> gamma[1, 2, 0]
16
>>> gamma[1, 1, 1]
14
I tried things like gamma[G]
and np.take(gamma, G)
, but nothing gives me the correct result.