Python Pandas - 仅显示DF中的行

时间:2016-12-04 14:28:03

标签: python pandas

搜索了这个,但找不到答案。

说我有数据框(格式化道歉):

戴夫400美元 戴夫400美元 戴夫400美元 b弗雷德$ 220
c詹姆斯150美元 c詹姆斯150美元 d Harry $ 50

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

即。它只会显示Dave的行

所有我能找到的方法是显示每个单独索引的最大值的行(索引为A,B,C等)

提前谢谢

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

如果您的索引是唯一的并且您可以返回一行(如果多行具有相同的最大值),那么您可以使用idxmax方法。

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

如果您想添加一些闪光,可以使用以下方法突出显示每列中的最大值:

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