我试图在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中的最大值,但是我需要它的位置。我怎么得到这个?
答案 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