python pandas-仅显示列的最大值的DF中的行



搜索了此问题,但找不到答案。

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

dave $ 400
戴夫$ 400
戴夫$ 400
B弗雷德$ 220
C詹姆斯$ 150
C詹姆斯$ 150
D Harry $ 50

我想过滤数据框,所以它仅显示第三列是最大值的行,有人可以指向正确的方向吗?

即。它只会显示戴夫的行

我所能找到的只是显示行的方式的方法,其中每个单独索引的最大值(索引为a,b,c et et)

预先感谢您

这应该有效:

>>> 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

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

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

,如果要添加一些耀斑,则可以以:

突出显示每列中的最大值

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

最新更新