以下为某地区python相关岗位的部分招聘信息,有下面三列数据,针对“学历”这个字段,按照“大专”、“本科”、“硕士”进行排序。对于不同学历,又按照“基本工资”降序排列。
这种可以直接在Excel中用“排序 - 自定义排序“完成该需求,那么如何用python进行操作呢?
import pandas as pd
# 读取数据
df = pd.read_excel("数据.xlsx")
# 自定义一个序列, 将“学历要求”列设置为category数据类型
x = [ '硕士', '本科', '大专']
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.to_excel('数据(排序后).xlsx',na_rep=11,index=False)
如果还不懂如何自定义排序,可以参考以下操作。
① 选中所有数据,点击开始 --> 排序和筛选 --> 自定义排序
② 当出现如下界面,完成图中操作