usando uma matriz numpy como índices da 2ª dim de outra matriz? [duplicado

Esta pergunta já tem uma resposta aqui:

Indexing um array por outro em numpy 3 respostas

Por exemplo, tenho duas matrizes numpy,

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

e eu quero extrair um elemento de cada linha deA, e esse elemento é indexado porB, então quero os seguintes resultados:

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

Eu tenteiA[:, B.ravel()], mas transmitiráB, não é o que eu quero. Também olhou paranp.take, parece não ser a solução certa para o meu problem

No entanto, eu poderia usarnp.choose por transposiçãoA,

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

mas qualquer outra solução melhor?

questionAnswers(2)

yourAnswerToTheQuestion