參考:https://blog.csdn.net/qq_22238533/article/details/72395564
如果不考慮序號問題,要直接排序則使用pandas sort_values函數
df.sort_values(by='排序字段',axis=0,ascending=True, inplace=False, na_position=‘last’)
參數 說明
by 指定列名(axis=0或’index’)或索引值(axis=1或’columns’)
axis 若axis=0或’index’,則按照指定列中數據大小排序;若axis=1或’columns’,則按照指定索引中數據大小排序,默認axis=0
ascending 是否按指定列的數組升序排列,默認為True,即升序排列
inplace 是否用排序后的數據集替換原來的數據,默認為False,即不替換
na_position {‘first’,‘last’},設定缺失值的顯示位置
====如果要獲取序號👇
#進行對comment_num排序得出sort_num列的序號
data['sort_num']=data['comment_num'].rank(ascending=0,method='dense')
rank()中兩個參數:
ascending,就是選擇是升序還是降序排列。
method較重要,上圖排序后結果,發現如果相同則並列排序,method則為控制排序方法
method='first' 如果出現相等,則取最先出現的值序號為“最小”,其他相同值依次按1遞增
data['sort_num']=data['comment_num'].rank(ascending=0,method='first')
method='min' 相等則序號一樣,新增一個相同序號,下一個排名序號則會推后+1
data['sort_num']=data['comment_num'].rank(ascending=0,method='min')
method='max'
data['sort_num']=data['comment_num'].rank(ascending=0,method='max')
---------------------------------組內排序-----------------------------
以cate字段為一組,對comment排序
data['group_sort']=data['comment_num'].groupby(data['cate']).rank(ascending=0,method='dense')