python按照“指定字符串序列排序”,我还是头一次遇到!

1、提出需求

这个问题是群友提出的一个问题(工作需要)。具体需求是怎么样的呢?有一组数据代表的是地区信息,这个朋友想要按照指定顺序将数据排列。
在这里插入图片描述

2、原始数据预览

从下表可以很明显的看出,所有的地区都是乱序排列的。这位朋友就是想将地区按照“深圳、广州、惠州、东莞”这个顺序排列一下。

有的人可能会想,这么简单的问题,直接利用excel做不就行了。话是不假,但是如果有多个这样的表格呢?并且每天都是重复这样而操作,你还觉得手动操作更方便吗?
在这里插入图片描述

3、解决问题

说实话这个问题,我在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)
df.sort_values("地区", inplace=True)
df

结果如下:
在这里插入图片描述

4、说明

本文主要讲述怎么按照指定字符串序列进行排序,使用了一种特殊的category数据类型。关于category数据类型,我们将在后面的文章中进行讲述。
  
关注微信公众号『数据分析与统计学之美』,后台回复“自动化数据”自动获取97页python自动化文档。

猜你喜欢

转载自blog.csdn.net/weixin_41261833/article/details/106660211
今日推荐