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

问题描述 投票:0回答:1

我的形状为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,...

python numpy numpy-ndarray
1个回答
0
投票
np.argmax(Inarray, axis=2)
© www.soinside.com 2019 - 2024. All rights reserved.