Python Dataframe根据其中一列中的最大值选择行

jim*_*m g 5 python pandas

我在python中有一个数据帧(许多行,2列).我想根据第2列中的最大值在第1列中使用唯一值修改DF(如果有帮助,第2列按升序排序).我可以写一个循环,但更喜欢一个或两个行解决方案.谢谢.

防爆.

ID         Value
100       11
100       14
100       16
200       10
200       20
200       30
300       45
400        0
400       25
Run Code Online (Sandbox Code Playgroud)

期望的结果

100       16
200       30
300       45
400       25
Run Code Online (Sandbox Code Playgroud)

EdC*_*ica 8

您想要groupby在'a'列上然后获取最大值的索引idxmax并使用这些索引来索引orig df:

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

Out[12]:
     a   b
2  100  16
5  200  30
6  300  45
8  400  25
Run Code Online (Sandbox Code Playgroud)