由其他向量确定的多个轴上的块状argmax

时间:2019-04-03 14:38:28

标签: python numpy vectorization argmax

说我有一个名为A的3d矩阵,形状为(100,4,100)。还有两个分别由200个值构成的向量,如下所示:

b = np.random.randint(0, 3, 200)
c = np.random.randint(0, 99, 200)

如何有效地找到每个A [b,c ,:]的argmax?

我能够进行for循环,如下所示:

for i in range(200):
    np.argmax(A[b[i], c[i], :])

通过避免for循环,我还有其他更有效的选择吗?

1 个答案:

答案 0 :(得分:0)

上文Divakar建议的解决方案是使用ndarray.argmax,因此看起来像A[b,c].argmax(1)