我在Python中使用熊猫数据框,具有121列和5行。我想在每一行中找到最大值,并打印出现它的列的名称。我真的不知道该如何开始做,但我会很感激。
编辑:列名是字符串
在这个例子中,我想要类似的东西:
id: 000621fb3cbb32d8935728e48679680e
breed: african_hunting_dog
confidence: 0.011319
所有3行的etc
答案 0 :(得分:3)
您可以将idxmax
和max
与axis=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]