pandas数据分析练习(一) 读取公考岗位表格并简单筛选分析

一、读取文件并转为csv

这里要注意,很多网站上直接下载的文件都不是utf-8编码的,在用

pd.read_csv()函数读取的时候会报错,因此解决方案如下
数据格式错误,如果要使用CSV文件,先将xls转为csv,
然后将csv用文本文档打开,另存为到需要的文件夹,(文件的扩展名还是csv不变)点开另存为最下面会有编码,将格式转为utf8(在最下面)然后再打开就好了

然后就可以使用pd.read_csv()方法读取了,我们在此以河北省公务员考试招考岗位为例

data_hb = pd.read_csv("河北.csv",encoding = "utf-8",header=0)

二、简单处理并筛选有用信息

因为这个表格有很多列中有空格,这样筛选的时候会报错,例如专业要求中有空格,应该代表的是不限专业,我们先将空格用字符替代

data_hb = pd.read_csv("河北.csv",encoding = "utf-8",header=0)
data_hb['其他要求'] = data_hb['其他要求'].fillna('不限')
data_hb['学位低限'] = data_hb['学位低限'].fillna('不限')
data_hb['专业要求'] = data_hb['专业要求'].fillna('不限')

筛选想要的数据

表格中有4k多条单位信息,我们需要将适合我们的岗位一一筛除,这就需要在某些有要求的列中选出符合我们条件的行,例如自己是本科,那在‘学历底线’这一列,就要本科,contains()方法可以做筛选,参数可以直接写筛选条件,也可以用列表写多个筛选条件然后再传入contains中。data_hb[~data_hb['其....这里的‘~’号是不包含含有这些字眼的行的意思.
因此,我们以专业名称含有‘文’和不限专业为例,(其实就是中文专业),考区我们选择了河北的四个城市,在其他要求中,我们舍去男性,年以上是‘n年以上工作经验的意思’(在相应位置的要求中出现这个字眼就可以匹配出来),相应的,也不选要证书的岗位,等等。


List1 = ['年以上','男性','证书','公安机关','基层','视力','年限']
data_hb=data_hb[~data_hb['其他要求'].str.contains('|'.join(List1))] #删除资格条件列含有2年工作经验的行等的
List2 = ['文','不限']
data_hb=data_hb[data_hb['专业要求'].str.contains('|'.join(List2))]
List3 = ['本科']
data_hb=data_hb[data_hb['学历低限'].str.contains('|'.join(List3))]
List4= ['石家庄','邢台','保定','雄安']
data_hb=data_hb[data_hb['考区'].str.contains('|'.join(List4))] #删除资格条件列含有2年工作经验的行等的
print(data_hb.shape)
筛选完想要的内容,可以打印看看有多行列
print(data_hb.shape)

最后可以将筛选出的内容保存起来
data_hb.to_csv('河北考公筛选.csv')

三、简单分析一下数据

筛选完了内容,那如果想看一下整体的招考情况呢?词云也许是一个好的选择
比如我们把这次河北招考的专业要求制作成词云图,看看那些专业在公考中广泛

# 读取csv
name=pd.read_csv('河北.csv')
name['专业要求'] = name['专业要求'].fillna('')  #依旧要做空值处理
name_list=name['专业要求'].tolist()
# jieba分词
text=''.join(name_list)
txt=' '.join(jieba.cut(text))


# 设置词云参数
w = wordcloud.WordCloud(background_color="white",
font_path='./fonts/simhei.ttf',
width=1600,height=800,
max_words=2000).generate(txt)

#生成图片
plt.imshow(w)
w.to_file('wordcloud1234.png')

结果如下

 可以看出文学专业在公考中的地位,另外法学和经济,计算机也很多。

我们再看看按照其他要求和单位制作的词云

可以看到应届生在公考中的优势很明显,这些也是公认的,只不过词云更加直观

关于招考单位,这次的单位看起来各个监管局提供了不少岗位

关于数据分析的学习还在继续,希望以后能把自己想要的信息更科学直观的分析出来,提升信息获取的效率和质量。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值