数据分析简单项目实战

文章分析了2023年福建省公务员考试的职位分布,通过饼图展示了各地区职位数量,并用地图形式进一步细化展示。同时,探讨了招考范围为“全国”的职位在各地区的分布,以及不同文化程度、性别要求的职位数量。重点比较了计算机、法学、会计、经济学等热门专业的职位需求情况。
摘要由CSDN通过智能技术生成

下载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()

做成地图

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")
)

分析招考范围为“全国”的职位及所属地区情况

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)

查看这两个条件的分布情况

educate=data['文化程度要求'].value_counts()
print(educate)

sex=data['性别要求'].value_counts()
print(sex)
sex.sum()

subject=data['所需专业'].value_counts()
all=subject.sum()
print('总招收岗位数:',all)

分析几个网上的热门考公专业招收的职位数,可以看到它们之间的差距

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)

做成柱状图

# 设置画布大小
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()

做得很简单,还有很多地方可以完善

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值