Pandas 组内排序

PB虽然也可以分组进行组内排序标号,但是效率太低。

'''
dataset: DataFrame格式数据集
partionby:分组依据字段
orderby:排序依据字段
asc:是否为升序;1:升序;0:降序
return series格式:序号

'''
def row_number(dataset, partionby, orderby, asc):
    return dataset[orderby].groupby(dataset[partionby]).rank(ascending=asc, method='first')
#例如,以dep_id进行分组,对组内数据按照salary进行标记数字,生成新列sort_id。
MyData['sort_id'] = MyData['salary'].groupby(MyData['dep_id']).rank()

参考链接:
https://blog.csdn.net/qq_22238533/article/details/72395564
https://blog.csdn.net/qq_34105362/article/details/83413675
https://www.cnblogs.com/52xf/p/4209211.html
https://blog.csdn.net/u010652755/article/details/90760692
https://www.cnblogs.com/ljhdo/p/11591958.html
https://zhuanlan.zhihu.com/p/32587905?from_voters_page=true
https://www.gairuo.com/p/pandas-pivoting

本文链接:

https://martin.cool/archives/379.html
1 + 3 =
快来做第一个评论的人吧~