前言
嗨喽~大家好呀,这里是魔王呐 ❤ ~!
1.导入模块
import pandas as pd
from pyecharts.charts import *
from pyecharts import options as opts
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
2.导入数据
boss = pd.read_csv('招聘数据.csv', engine='python', encoding='utf-8')
boss
boss.shape
3.数据处理
3.1 查看重复值
boss.duplicated().sum()
3.2 查看缺失值
boss.isnull().sum()
3.3 缺失值处理
boss.dropna(subset=['薪资'], inplace=True)
boss.isnull().sum()
boss['公司福利'].fillna('无', inplace=True)
boss.isnull().sum()
3.4 地区列处理
boss['地区'].unique()
boss['地区'] = boss['地区'].apply(lambda x:x.split('-')[0])
boss['地区'].unique()
3.5 经验列处理
boss['经验'].unique()
3.6 学历列处理
boss['学历'].unique()
boss['学历'].replace('招若干人','学历不限', inplace=True)
boss['学历'].replace('招1人','学历不限', inplace=True)
boss['学历'].replace('招2人','学历不限', inplace=True)
boss['学历'].replace('招10人','学历不限', inplace=True)
boss['学历'].replace('招3人','学历不限', inplace=True)
boss['学历'].unique()
3.7 薪资列处理
boss['薪资'].unique()
4.数据分析(数据可视化)
4.1 薪资区间
import numpy as np
def shulie(first, end, step):
x = []
for i in np.arange(first, end, step):
x.append(i)
return x
list_1 = shulie(0,10,0.5)
boss['top'].plot.hist(bins=30,figsize=(20,8),edgecolor="black")
plt.xticks(list_1)
plt.xlabel('薪资区间')
plt.ylabel('万/月')
plt.show()
4.2 经验、学历要求情况
boss_1 = boss['经验'].value_counts()
x = boss_1.index.tolist()
y = boss_1.values.tolist()
boss_2 = boss['学历'].value_counts()
x_2 = boss_2.index.tolist()
y_2 = boss_2.values.tolist()
data_pair_1 = [list(z) for z in zip(x, y)]
data_pair_2 = [list(z) for z in zip(x_2, y_2)]
4.3 哪些地区招聘人员比较多
4.4 经验要求 和 薪资情况的情况 是不是薪资越高 经验要求越高
4.5 学历要求 和 薪资情况的情况 是不是薪资越高 学历要求越高
mean = boss.groupby('学历')['工资平均'].mean().sort_values()
x = mean.index.tolist()
y = mean.values.tolist()
c = (
Bar()
.add_xaxis(x)
.add_yaxis(
"学历",
y,
markpoint_opts=opts.MarkPointOpts(
data=[opts.MarkPointItem(name="学历不限", coord=[x[1], y[1]], value=y[1])]
)
)
.set_global_opts(title_opts=opts.TitleOpts(title="不同学历的平均薪资"))
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
)
c.render_notebook()
text = boss['公司福利'].dropna().to_string()
text
import jieba
words = jieba.lcut(text)
#通过遍历words的方式,统计出每个词出现的频次
counts = {}
for word in words:
if len(word) == 1:
continue
else:
counts[word] = counts.get(word,0) + 1
python资料、源码、教程: 点击此处跳转文末名片获取
尾语 💝
要成功,先发疯,下定决心往前冲!
学习是需要长期坚持的,一步一个脚印地走向未来!
未来的你一定会感谢今天学习的你。
—— 心灵鸡汤
本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 😝