2016-12-04 201 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