0

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.

nalzok
  • 14,965
  • 21
  • 72
  • 139

0 Answers0