如果只是单纯想对某一列进行排序,而不进行打序号的话直接使用.sort_values就可以了。下文是关于如何把序号也打上的
1·首先是不分组进行排序 (按user_id排序)
数据格式如下:
data1['sort_num']=data1['user_id'].rank(ascending=1,method='first')
data1['sort_num']=data1['user_id'].rank(ascending=1,method='dense')
data1['sort_num']=data1['user_id'].rank(ascending=1,method='min')
data1['sort_num']=data1['user_id'].rank(ascending=1,method='max')
这里都是对user_id进行排序,我们用到了两个参数,第一个很好理解 ascending,就是选择是升序还是降序排列。
另外一个参数method,你们可自己观察上述几种结果的差别,然后进行选择性使用。
2·组内进行排序(按user_id分组后对product_id排序)
data1['group_sort']=data1['product_id'].groupby(data1['user_id']).rank(ascending=1,method='first')
参数和之前的是一样的,只是多了一个分组操作。