usando una matriz numpy como índices del segundo dim de otra matriz? [duplicar

Esta pregunta ya tiene una respuesta aquí:

Indexing una matriz por otra en numpy 3 respuestas

Por ejemplo, tengo dos matrices numpy,

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

y quiero extraer un elemento de cada fila deA, y ese elemento está indexado porB, así que quiero los siguientes resultados:

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

Lo intentéA[:, B.ravel()], pero transmitiráB, no es lo que quiero. También examinónp.take, parece que no es la solución correcta para mi problema.

Sin embargo, podría usarnp.choose transponiendoA,

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

pero alguna otra solución mejor?

Respuestas a la pregunta(2)

Su respuesta a la pregunta