查找数据框中行的最大值的列名

时间:2019-03-12 01:40:35

标签: python pandas dataframe

我在Python中使用熊猫数据框,具有121列和5行。我想在每一行中找到最大值,并打印出现它的列的名称。我真的不知道该如何开始做,但我会很感激。

编辑:列名是字符串

编辑:一些示例方案是: enter image description here

在这个例子中,我想要类似的东西:

id: 000621fb3cbb32d8935728e48679680e
breed: african_hunting_dog
confidence: 0.011319
所有3行的

etc

3 个答案:

答案 0 :(得分:3)

您可以将idxmaxmaxaxis=1一起使用

df.idxmax(axis=1)
df.max(axis=1)

答案 1 :(得分:0)

您可以尝试初学者:

将熊猫作为pd导入

df = pd.DataFrame({'Col1':['A','B','C','D','E'], 'Col2': [4,2,6,3,2], 'Col3':[3,6,4,3,1]})
for x in range(len(df)):
    dt = df.iloc[x]
    if dt[1] > dt[2]:
        print ('Col2:{}'.format(dt[1]))
    elif dt[1] < dt[2]:
        print ('Col3:{}'.format(dt[2]))
    else:
        print ('Both cols are same')

答案 2 :(得分:0)

    for col in df.columns:
       if df[col].values[-1] == df.iloc[-1].max():
          print(col)

或者

    [x if df[x].values[-1] == df.iloc[-1].max() for x in df.columns]