按照一般规则排序:https://baijiahao.baidu.com/s?id=1642304251165564926&wfr=spider&for=pc
DataFrame.sort_values(),即可对其排序。
def sort_values(self, by,axis=0,ascending=True,
inplace=False, kind="quicksort",na_position="last",ignore_index=False,):
参数 | 描述 |
by | str or list of str,行/列名,排序依据 |
axis | {0 or ‘index’, 1 or ‘columns’}, 默认为0,行或列 |
ascending | bool or list of bool, default True,基于 by 升序或降序 |
示例:
import pandas as pd
>>> fileName = input("请输入excel文件\n")
>>> df = pd.read_excel(fileName)
#假设读取了一个学生成绩表
df.sort_values(
by = ['班级','科目'], # 参数 by 指定排序依据关键列
ascending = [True,True] # 参数ascending 指定对应参数by的关键列采用的升降序
)
print(df)
其实就是将自定义顺序赋值为:参数 by
首先创建 排序 数据
df['自定义顺序']=pd.Categorical(df['班级'],[5,2,3,1,4]) #Categorical 实例化指定顺序
finishDf=df.sort_values(by = ['自定义顺序'], ascending = True)
其中 ,参数values为值,参数categories为值的顺序
pandas.Categorical(values, categories=None, ordered=None, dtype=None, fastpath=False)