использование массива numpy в качестве индексов второго dim другого массива? [Дубликат]

На этот вопрос уже есть ответ:

Индексирование одного массива другим в numpy 3 ответа

Например, у меня есть два массива,

A = np.array(
  [[0,1], 
   [2,3], 
   [4,5]])
B = np.array(
  [[1],
   [0],
   [1]], dtype='int')

и я хочу извлечь один элемент из каждой строкиA, и этот элемент индексируется какB, поэтому я хочу получить следующие результаты:

C = np.array(
  [[1],
   [2],
   [5]])

Я пыталсяA[:, B.ravel()] но будет транслироватьсяB не то, что я хочу. Также посмотрел вnp.take, кажется, не правильное решение моей проблемы.

Однако я мог бы использоватьnp.choose транспонированиемA,

np.choose(B.ravel(), A.T)

но какое-нибудь другое лучшее решение?

Ответы на вопрос(2)

Ваш ответ на вопрос