python 操作Excel(5)pandas之自定义排序

按照一般规则排序: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)

 

 

你可能感兴趣的:(python)