Python:为形状i,j,k的数组中的每个i,j组合查找k方向上最大值的位置
我有一个形状为(360,180,10)的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):
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)
请参见简单性本身!谢谢你的快速解决方案。