Python:为形状i,j,k的数组中的每个i,j组合查找k方向上最大值的位置

Python:为形状i,j,k的数组中的每个i,j组合查找k方向上最大值的位置,python,numpy,numpy-ndarray,Python,Numpy,Numpy Ndarray,我有一个形状为(360,180,10)的inaray,我想有效地找到每个I,j配对的位置,其中k方向出现最大值。因此,我的结果将是一个shape(360180)数组,其中每个值都是介于0和9之间的值 这可以通过如下所述的循环来实现,但我想知道是否有更好的方法来实现这一点,因为它看起来既笨拙又低效 import numpy as np result=np.empty([360,180]) for ii in range(0,360): for jj in range(0,180):

我有一个形状为(360,180,10)的
inaray
,我想有效地找到每个I,j配对的位置,其中k方向出现最大值。因此,我的结果将是一个shape
(360180)
数组,其中每个值都是介于0和9之间的值

这可以通过如下所述的循环来实现,但我想知道是否有更好的方法来实现这一点,因为它看起来既笨拙又低效

import numpy as np 

result=np.empty([360,180])

for ii in range(0,360):
    for jj in range(0,180):
        pos=np.where(InArray[ii,jj,:] == np.max(InArray[ii,jj,:]))
        result[ii,jj]=pos[0][0]
(有时pos返回多个值,但在这些情况下,我只对第一个元素感兴趣)

感谢任何能提供帮助的人

np.argmax(Inarray, axis=2)

请参见

简单性本身!谢谢你的快速解决方案。