熊猫新手,并试图变得更好。我想group_by“id”列,然后order_by“col2”然后“col3”,然后进行顶部观察。 提前致谢
In[6]:df_selection
Out[6]:
id col2 col3
0 1 2 2
1 2 3 1
所需:
webdriver-manager start
答案 0 :(得分:1)
执行此操作的一种非常简短的方法是按这些列进行排序,分组并获取每个组的第一个:
>>> df.sort_values(by=['col2', 'col3']).groupby('id').first()
col2 col3
id
1 2 2
2 3 1
要获得确切的输出作为您的问题,只需重置索引:
>>> df.sort_values(by=['col2', 'col3']).groupby('id').first().reset_index()
id col2 col3
0 1 2 2
1 2 3 1