如何在numpy数组的列中找到最大值的位置?

时间:2019-02-11 13:31:21

标签: python numpy

我试图在numpy数组的特定列中找到最大值的位置。

设置我的数组的代码是:

m=np.zeros((3,4),dtype=int)

for i in range (0,3):
    m[0][i]=1;

m[1][1]=1
m[2][0]=1
m[2][1]=1
m[0][3]=2
m[2][3]=1
print(m)

(我知道这是一种愚蠢的设置方式,但这是更大的程序的一部分,需要以这种方式设置)

使用此代码:

b=0
m_e_p=np.max(m[:,b])
        print(m_e_p)

我得到答案1,因为1是列0中的最大值,但是我需要它的位置。我怎么得到这个?

1 个答案:

答案 0 :(得分:1)

在感兴趣的列所切成的ndarray上使用np.argmax

print(m)
array([[1, 1, 1, 2],
       [0, 1, 0, 0],
       [1, 1, 0, 1]])

np.argmax(m[:,col])

示例

np.argmax(m[:,3])
# 0