使用python在数据帧上分组

2024-09-28 19:09:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python,我有一个数据框架:

unique_col | code | Col3 | ... | Col4
1          | A    | aa   | ... | aaa1  
2          | A    | bb   | ... | aaa2
3          | A    | cc   | ... | aaa3
4          | B    | dd   | ... | aaa4
5          | B    | ee   | ... | aaa5
6          | B    | ff   | ... | aaa6

我需要生成一个如下所示的数据帧: 对于每个“代码”,我需要获得与最大值匹配的行(唯一列)

unique_col | code | Col3 | ... | Col4
3          | A    | cc   | ... | aaa3
6          | B    | ff   | ... | aaa6

谢谢你的帮助


Tags: 数据框架codecolcol3aaccunique
2条回答

如果max unique行总是最后一行,则可以使用drop replicate()命令

df.drop_duplicate(subset='code', keep= 'last', inplace= True)

您可以使用groupby.last()(或.max()),并确保首先使用要获取最大值的列对数据帧进行排序,即unique_col

df.sort_values(by=['unique_col']).groupby('code').last().reset_index()

  code  unique_col Col3  Col4
0    A           3   cc  aaa3
1    B           6   ff  aaa6

相关问题 更多 >