1

我有一个数据框df。我需要按列分组a,找到列的最大值,b但也想显示所有列df

例如 -

东风:

    a       b       c      d
0   259992  20     55      abc
1   259992  10     12      def
2   1912687 11     11      ghi

我的代码找到最大值b

df.groupby('a')['b'].max().reset_index()

这给了我一个部分结果:

    a       b   
0   259992  20 
1   1912687 11 

我想要得到的是:

    a       b       c      d
0   259992  20     55      abc
1   1912687 11     11      ghi

关于如何以最有效的方式做到这一点的任何提示?

4

1 回答 1

2

看起来你需要idxmax

df.loc[df.groupby('a')['b'].idxmax()]

         a   b   c    d
0   259992  20  55  abc
2  1912687  11  11  ghi
于 2020-03-10T18:26:24.033 回答