我有两个矩阵,A
和B
:
A = array([[2., 13., 25., 1.], [ 18., 5., 1., 25.]])
B = array([[2, 1], [0, 3]])
我希望用B
的每一行去索引A
的每一行,生成切片:
array([[25., 13.], [18., 25.]])
也就是说,我基本上想要像这样的东西:
array([A[i,b] for i,b in enumerate(B)])
有没有直接进行“fancy-index”(精美索引)的方法?我所能做到的最好的方法是这个“flat-hack”:
A.flat[B + arange(0,A.size,A.shape[1])[:,None]]