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,):
参数描述
bystr or list of str,行/列名,排序依据
axis{0 or ‘index’, 1 or ‘columns’},  默认为0,行或列
ascendingbool 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)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值