2016-12-04 55 views
1

搜索此内容,但无法找到答案。Python Pandas - 仅显示列中的最大值为列的行

说我有一个数据帧(道歉格式化):

一个戴夫$ 400
一个戴夫$ 400
一个戴夫$ 400
b佛瑞德$ 220
Ç詹姆斯$ 150
Ç詹姆斯$ 150
d哈里$ 50

而我想过滤数据帧,所以它只显示第三列是MAXIMUM值的行,有人可以指向我正确的方向?

即它只会显示Dave的行

所有我能找到的是表示它的每个单独指标的最大值(指标为A,B,C等)

感谢行的方式你提前

回答

0

这应该工作:

>>> df 
     0 money 
a Dave 400 
a Dave 400 
a Dave 400 
b Fred 220 
c James 150 
c James 150 
d Harry  50 

>>> df[df['money'] == df['money'].max()] 
     0 money 
a Dave 400 
a Dave 400 
a Dave 400 
+0

如果你想获得第一摆脱$迹象,你应该使用'df ['money'] = df ['money']。apply(lambda x:float(x [1:]))' – VanDarkholme

+0

谢谢你,那是完美的:) – ScoutEU

+0

@ScoutEU最好谢谢你会接受回答:3 – VanDarkholme

0

如果你的索引是唯一的,你是与具有SA返回一行(在多行的情况下确定我最大值),那么你可以使用idxmax方法。

df.loc[df['money'].idxmax()]

如果你想添加一些耀斑可以突出显示在每列与最大值:

df.loc[df['money'].idxmax()].style.highlight_max()

+0

谢谢,感谢帮助:) – ScoutEU

相关问题