我有两个矩阵,A
并且B
:
A = array([[2., 13., 25., 1.], [ 18., 5., 1., 25.]])
B = array([[2, 1], [0, 3]])
我想用 的每一行来索引每一行A
,B
产生切片:
array([[25., 13.], [18., 25.]])
也就是说,我本质上想要类似的东西:
array([A[i,b] for i,b in enumerate(B)])
有没有办法直接对它进行索引?我能做的最好的就是这个“flat-hack”:
A.flat[B + arange(0,A.size,A.shape[1])[:,None]]