下载2023福建省考职位表,每个职位都有自己的信息和条件要求
分析职位所属地区的分布情况
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data=pd.read_excel(r"C:\Users\ChoCoLate\Desktop\2023福建省考职位表fj.xlsx",header=0)
#value_counts()返回值类型是series
#计数单位所属地区
area=data['单位所属地区'].value_counts()
print(area)
# 将序列的名称设置为空字符,否则绘制的饼图左边会出现名称
area.name=''
# 设置画布大小
plt.figure(figsize = (9,9))
# 设置字体和编码格式
plt.rcParams['font.sans-serif'] = 'simhei'
plt.rcParams['axes.unicode_minus'] = False
#plt.title.set_size(10)
area.plot(kind='pie',
title='福建省考职位所属地区分布图',
autopct="%.1f%%",
textprops = {'fontsize':13, 'color':'black'},# 设置文本标签的属性值
wedgeprops = {'linewidth': 0.5,'edgecolor':'black'} # 设置饼图内外边界的属性值
#legend={'loc':'upper left'}
)
#在左上方添加图例
#plt.legend(datas[:, 0], loc="upper left")
plt.show()
![](https://i-blog.csdnimg.cn/blog_migrate/849f4cdfa6b4a1bf77000191107d8ed5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7d8713c86ec5ba112d6279bbb235b28b.png)
做成地图
from pyecharts.charts import Map
from pyecharts import options as opts
x1=['南平市','三明市','漳州市','福州市','泉州市','龙岩市','宁德市','厦门市','莆田市','平潭市']
del area['省直']
x2=area.tolist()
#print(x1,x2)
sequence = list(zip(x1,x2))
print(sequence)
c = (
Map(init_opts=opts.InitOpts(width="1000px",height="600px")) #初始化地图大小
.set_global_opts(
title_opts=opts.TitleOpts(title="福建省考职位所属地区分布地图 单位:人"), #配置标题
visualmap_opts=opts.VisualMapOpts(
#type_ = "scatter" #散点类型
min_=0,
max_=600,
range_text = ['人数区间:', ''], #分区间
is_piecewise=True, #定义图例为分段型,默认为连续的图例
pos_top= "middle", #分段位置
pos_left="left",
orient="vertical",
split_number=6 #分成10个区间
)
)
.add("岗位数",sequence,maptype="福建") #将list传入,地图类型为福建地图
.render("Map1.html")
)
![](https://i-blog.csdnimg.cn/blog_migrate/c54f8fc393f61cad77535649971aa81e.png)
分析招考范围为“全国”的职位及所属地区情况
scope=data['招考范围'].value_counts()
print(scope)
#筛选并计数招考范围为全国的地区
area_1=data.loc[data['招考范围']=='全国']['单位所属地区'].value_counts()
print(area_1)
#计算各地区全国岗位占比并排序
x=area_1/area
x.sort_values(ascending=False)
![](https://i-blog.csdnimg.cn/blog_migrate/1dbb27ca1af10a95328b71a6aa9c4555.png)
查看这两个条件的分布情况
educate=data['文化程度要求'].value_counts()
print(educate)
sex=data['性别要求'].value_counts()
print(sex)
sex.sum()
![](https://i-blog.csdnimg.cn/blog_migrate/94bc46831379cc9aa8107ea3ff559e92.png)
![](https://i-blog.csdnimg.cn/blog_migrate/02f7d98f495cc79d3d4447bef146eeaa.png)
subject=data['所需专业'].value_counts()
all=subject.sum()
print('总招收岗位数:',all)
![](https://i-blog.csdnimg.cn/blog_migrate/a4db19457359d251d77b0359e668b5d3.png)
分析几个网上的热门考公专业招收的职位数,可以看到它们之间的差距
x1=data.loc[data['所需专业'].str.contains('计算机'),:]['所需专业'].value_counts().sum()
x2=data.loc[data['所需专业'].str.contains('法学'),:]['所需专业'].value_counts().sum()
x3=data.loc[data['所需专业'].str.contains('会计'),:]['所需专业'].value_counts().sum()
x4=data.loc[data['所需专业'].str.contains('经济学'),:]['所需专业'].value_counts().sum()
x5=data.loc[data['所需专业'].str.contains('语言文学'),:]['所需专业'].value_counts().sum()
x6=data.loc[data['所需专业'].str.contains('法学'),:]['所需专业'].value_counts().sum()
x7=data.loc[data['所需专业'].str.contains('财政'),:]['所需专业'].value_counts().sum()
x8=data.loc[data['所需专业'].str.contains('金融'),:]['所需专业'].value_counts().sum()
#print('包含[统计]的岗位数及所占比例:',x,x/all)
x9=all-x1-x2-x3-x4-x5-x6-x7-x8
x={'计算机':x1,'法学':x2,'会计':x3,'经济学':x4,'语言文学':x5,'法学':x6,'财政':x7,'金融':x8,'其他':x9}
sub=pd.Series(x)
x=sub.sort_values(ascending=False)
print(x)
x=(sub/all).sort_values(ascending=False)
print(x)
![](https://i-blog.csdnimg.cn/blog_migrate/1197ed8a80c5244d2180c78d058df1f3.png)
做成柱状图
# 设置画布大小
plt.figure(figsize = (7,7))
sub=sub.sort_values(ascending=False)
print(sub.index.tolist())
#plt.xticks(sub.index.tolist(),rotation=90)
sub.plot(kind='bar',
#x='专业',
#y='岗位数',
title='福建省考职位所需专业分布图',
#textprops = {'fontsize':13, 'color':'black'},# 设置文本标签的属性值
#wedgeprops = {'linewidth': 0.5,'edgecolor':'black'} # 设置饼图内外边界的属性值
#legend={'loc':'upper left'}
)
plt.show()
![](https://i-blog.csdnimg.cn/blog_migrate/07d34ead682a17c678020ffc9198bd01.png)
做得很简单,还有很多地方可以完善