python – 使用numpy数组作为另一个数组的第二个dim的索引?
参见英文答案 > Indexing one array by another in numpy 3个例如,我有两个numpy数组,
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,似乎不是我的问题的正确解决方案.
但是,我可以通过转置A来使用np.choose,
np.choose(B.ravel(), A.T)
但还有其他更好的解决方案