我的形状为InArray
的(360, 180, 10)
,并且我想有效地找到每对i,j对的位置,其中在k方向上出现最大值。因此,我的结果将是一个形状为(360,180)
的数组,其中每个值都是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返回多个值,但在这些情况下,第一个元素就是我感兴趣的全部)。
感谢任何可以提供帮助的人。
我有一个形状为(360,180,10)的InArray,我想有效地找到每个i,j配对的位置,其中在k方向上出现最大值。因此,我的结果将是一个形状数组(360,...
np.argmax(Inarray, axis=2)