pandas 比较相同panda Dataframe 的行

kq0g1dla  于 2023-04-18  发布在  其他
关注(0)|答案(1)|浏览(148)

我试图比较同一组中的行。假设我有一个如下的数据框-
| 因德|SID|SEMID|TID|类型|P|
| --------------|--------------|--------------|--------------|--------------|--------------|
| 0|1|五|四百五十|A|10个|
| 1|1|五|四五一|A|九|
| 二|1|五|四百五十二|A|十五岁|
| 三|1|三|四百五十五|A|二|
在这里你可以看到ind数0,1,2在同一个组中(因为SID,SEMID,TYP是相同的)。因此,从这个组中,我只希望具有最高值P(15)的行。我的预期输出dataframe如下所示。
| 因德|SID|SEMID|TID|类型|P|
| --------------|--------------|--------------|--------------|--------------|--------------|
| 二|1|五|四百五十二|A|十五岁|
| 三|1|三|四百五十五|A|二|
我如何在python中实现这一点?我对Python完全陌生。如果有任何Maven在这方面提供帮助,将非常有帮助。
先谢谢你。

nwlqm0z1

nwlqm0z11#

尝试groupby + idxmax

df.loc[df.groupby(['SID', 'SEMID', 'TYP']).P.idxmax()]

   ind  SID  SEMID  TID TYP   P
3    3    1      3  455   A   2
2    2    1      5  452   A  15

相关问题