问题:pandas组内排序,并在每个分组内按序打上序号
描述:
pandas dataframe 对dep_id组内的salary排序。希望给下面原本只有前三列的dataframe,添加上第四列。
等价于sql里的排序函数 row_number() over() 功能
假设我已经建好了仅有前三列的dataframe,数据集命名为 MyData,那么解决方案如下:
MyData['sort_id'] = MyData['salary'].groupby(MyData['dep_id']).rank()
结果如下: