对比excel,如何在Python中实现 “自定义文本” 排序!

举报
yd_226342373 发表于 2021/05/20 00:27:04 2021/05/20
【摘要】 “针对数值型数据”进行排序,可能是大家最喜欢,并且最熟悉的操作,然而如何“针对文本型数据”进行排序呢?这个问题,你可以在心里默想一下,应该如何操作。 有时候,如果一个小数据,直接在Excel中就可以完成该需求,那么如何用它进行操作呢?如果数据量很大,你想用Python实现这个目标,又应该怎么办呢? 基于此,黄同学今天就带着大家,分别在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

  
 

最终效果:
在这里插入图片描述

文章来源: blog.csdn.net,作者:数据分析与统计学之美,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_41261833/article/details/109165957

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。