对比excel,如何在Python中进行“文本自定义”排序?

????????关注后回复 “进群” ,拉你进程序员交流群????????

作者丨黄伟呢

来源丨数据分析与统计学之美

“针对数值型数据”进行排序,可能是大家最喜欢,并且最熟悉的操作,然而如何“针对文本型数据”进行排序呢?这个问题,你可以在心里默想一下,应该如何操作。

有时候,如果一个小数据,直接在Excel中就可以完成该需求,那么如何用它进行操作呢?如果数据量很大,你想用Python实现这个目标,又应该怎么办呢?

基于此,黄同学今天就带着大家,分别在Excel和Python中,实现这两个需求。

数据介绍

有下面三列数据,针对“学历”这个字段,按照“大专”、“本科”、“研究生”进行排序。对于不同学历,又按照“基本工资”降序排列。

Excel实现

① 选中所有数据
② 点击开始 --> 排序和筛选 --> 自定义排序
③ 当出现如下界面,完成图中操作
④ 当出现如下界面,完成图中操作
⑤ 当出现如下界面,完成图中操作
⑥ 效果如下

Python实现

import pandas as pd

# 自定义一个序列
x = [ '研究生', '本科', '大专']

# 读取数据
df = pd.read_excel("测试.xlsx")

# 将“学历”列设置为category数据类型
df["学历"] = df["学历"].astype("category")

# reorder_categories表示重新排序在x序列中指定的类别
# inplace=True表示对现有类别重新排序
df["学历"].cat.reorder_categories(x, inplace=True)

# 然后采用多列排序的方式,对“学历”列按照指定x顺序排列,对“基本工资”列进行降序排列
df.sort_values(by=["学历","基本工资"], inplace=True,ascending=[True,False])
df

最终效果:

-End-

最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

点击????卡片,关注后回复【面试题】即可获取

在看点这里好文分享给更多人↓↓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值