拉勾网招聘数据的探索性数据分析③
Github 文件地址:https://github.com/why19970628/Python_Crawler/tree/master/LaGou
探索性数据分析(Explore data analysis)
EDA一定程度上跟描述性数据分析重合,但范围要大于描述性数据分析
探索性数据分析:
不清楚数据长什么样
不知道数据里有什么
目标不甚明确:大目标清晰,中间途径不清晰
从数据中找到线索
EDA是一种方法论而不是特定技术
探索性数据分析的基本面:
定量分析展示
统计绘图与数据可视化
探索性数据分析的具体方法:
数据基本概况(统计定量分析)
缺失值展示与探索
异常值和离群点展示与探索
目标变量重点分析
自变量逐变量分析(数值型、分类型、文本特征)
自变量目标变量相关分析
统计绘图与可视化展示
统计绘图与数据可视化
现代统计图形(最常用)
柱状图/条形图:单变量/多变量
散点图:单变量/多变量
直方图:单变量,尤其是数值型目标变量的分布展示
箱线图:离散变量与连续变量的关系展示
折线图:单变量/多变量
密度图:和直方图联用
数据可视化技术
统计图形
R语言可视化:ggplot2
python可视化:matplotlib/seaborn/bokeh/plotly/wordcloud
web可视化:交互式绘图/echarts/javascript/D3.js
地图可视化
对于数据分析和机器学习而言,掌握前三个即可,重点在于各种统计图形。
拉勾网招聘数据特征工程探索网址 https://blog.csdn.net/weixin_43746433/article/details/94590733
实例:招聘数据的探索性数据分析
一.读数据
1.1查看数据详情
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
data = pd.read_csv('./lagou_preprocessed.csv', encoding='gbk')
data.head()
# 数值型变量统计量描述
print(data.describe())
1.2薪水直方图
plt.hist(data['salary'])
# seaborn下的直方图
import warnings
warnings.filterwarnings('ignore')
sns.distplot(data['salary']);
1.3计算目标变量值的偏度与峰度
from scipy import stats
# from scipy.stats import norm
print("Skewness: %f" % data['salary'].skew())
print("Kurtosis: %f" % data['salary'].kurt())
1.4分类变量探索 分类值统计
cols = ['city', 'education', 'position_name', 'size', 'stage', 'work_year']
for col in cols:print(data[col].value_counts())
二.绘图
绘制各个数据与薪资的关系图
2.1 城市与工资水平
#处理city变量,将计数少于30的划为其他
city_counts_df = pd.DataFrame()
city_counts_df['city'] = city_counts.index
city_counts_df['counts'] = data['city'].value_counts().values
city_counts_df
cities = ['北京', '上海', '广州', '深圳', '杭州', '成都', '武汉', '南京']
for i, j in enumerate(data['city']):if j not in cities:data['city'][i] = '其他'
data['city'].value_counts()
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
# 城市与工资水平
sns.boxplot(x = data['city'], y = data['salary'])
plt.title('城市与工资水平')
plt.show()
2.2 学历与工资水平
sns.boxplot(x = data['education'], y = data['salary'])
plt.title('学历与工资水平')
plt.show()
2.3 经验与工资水平
sns.boxplot(x = data['work_year'], y = data['salary'])
plt.title('经验与工资水平')
plt.show()
2.4企业发展阶段与工资水平
sns.boxplot(x = data['stage'], y = data['salary'])
plt.title('企业与工资水平')
plt.show()
2.5 企业规模与工资水平
sns.boxplot(x = data['size'], y = data['salary'])
plt.title('企业规模与工资水平')
plt.show()
2.6 岗位与工资水平
sns.boxplot(x = data['position_name'], y = data['salary'])
plt.title('岗位与工资水平')
plt.show()
2.7 行业与工资水平
# 处理industry变量
for i, j in enumerate(data['industry']):if ',' not in j:data['industry'][i] = jelse:data['industry'][i] = j.split(',')[0]
print(data['industry'].value_counts())industries = ['移动互联网', '金融', '数据服务', '电子商务', '企业服务', '医疗健康', 'O2O', '硬件', '信息安全', '教育']
for i, j in enumerate(data['industry']):if j not in industries:data['industry'][i] = '其他'#print(data['industry'].value_counts())sns.boxplot(x = data['industry'], y = data['salary'])
plt.title('行业与工资水平')
plt.show()
三.数据advantage(待遇)的词云实现
3.1 获得文本
ADV = []
for i in data['advantage']:ADV.append(i)ADV_text = ''.join(ADV)
ADV_text
3.2jieba分词
import jieba
result = jieba.cut(ADV_text)
print("切分结果: "+",".join(result))
3.3 调节词语的词频
jieba.suggest_freq(('五险一金'), True)
jieba.suggest_freq(('六险一金'), True)
jieba.suggest_freq(('带薪年假'), True)
jieba.suggest_freq(('年度旅游'), True)
jieba.suggest_freq(('氛围好'), True)
jieba.suggest_freq(('技术大牛'), True)
jieba.suggest_freq(('免费三餐'), True)
jieba.suggest_freq(('租房补贴'), True)
jieba.suggest_freq(('大数据'), True)
jieba.suggest_freq(('精英团队'), True)
jieba.suggest_freq(('晋升空间大'), True)result = jieba.cut(ADV_text)
print("切分结果: "+",".join(result))
3.4 使用停用词
#读取标点符号库
f = open("./stopwords.txt", "r")
stopwords={}.fromkeys(f.read().split("\n"))
f.close()
#加载用户自定义词典
# jieba.load_userdict("./utils/jieba_user_dict.txt")
segs = jieba.cut(ADV_text)
mytext_list=[]
#文本清洗
for seg in segs:if seg not in stopwords and seg != " " and len(seg) != 1:mytext_list.append(seg.replace(" ", ""))ADV_cloud_text = ",".join(mytext_list)
ADV_cloud_text
3.5 词云实现
from wordcloud import WordCloud
wc = WordCloud(background_color="white", #背景颜色max_words=800, #显示最大词数font_path = r'C:\Windows\Fonts\STFANGSO.ttf', min_font_size=15,max_font_size=80)
wc.generate(ADV_cloud_text)
wc.to_file("ADV_cloud.png")
plt.imshow(wc)
plt.show()
拉勾网招聘数据特征工程探索网址
https://blog.csdn.net/weixin_43746433/article/details/94590733
拉勾网招聘数据的探索性数据分析③相关推荐
- 拉勾网招聘数据爬取(公布源码)
公众号爬取拉勾网招聘数据,本文只讲重点,因为爬任何一个网站,可能最重要的就是遇到反爬怎么办,也就是第一步能不能爬下来数据的问题,本文讲如何爬取拉勾招聘数据 环境及软件:Linux乌邦图.redis.m ...
- python数据分析的发展前景_Python+BI分析5000条招聘数据,原来数据分析工作在这儿最好找...
这两年的大数据热潮带火了数据分析这个职业,很多人想转行干数据分析,但是又不知道现在这个行业的求职环境和前景如何,动了心却不敢贸然行动. 前两天有个干运营的妹子找我聊天,也是问我数据分析岗位前景的问题, ...
- django+拉勾网招聘数据可视化
django+拉勾网招聘数据可视化,此系统有详细的录屏,下面只是部门截图,需要看完整录屏联系博主 系统开发语言python,框架为django,数据库mysql,分为爬虫和可视化分析
- 100%教会爬取全国保险业务员微信号码和拉勾网招聘数据
下方两幅图是最近爬取某保险网站和拉勾的招聘数据,大家随意感受一下 Python爬虫人工智能教程: www.python88.cn 编程资源网:www.python66.cn 截图部分保险业务员微信二维 ...
- python3 scrapy实战:爬取拉勾网招聘数据至数据库(反爬虫)
首先注明:感谢拉勾网提供的权威.质量的数据,本人抱着学习的态度,不愿增加其服务器负担,与dos攻击. 由于后面准备做一个大一点的数据分析项目,所以前提需要获取大量的有质量和权威的信息,其中一个获取点便 ...
- 带你和Python与R一起玩转数据科学: 探索性数据分析(附代码)
作者:Jose A Dianes 翻译:季洋 校对:丁楠雅 本文约5822字,建议阅读20+分钟. 本系列将介绍如何在现在工作中用两种最流行的开源平台玩转数据科学.先来看一看数据分析过程中的关键步骤 ...
- 季节性时间序列数据分析_如何指导时间序列数据的探索性数据分析
季节性时间序列数据分析 为什么要进行探索性数据分析? (Why Exploratory Data Analysis?) You might have heard that before proceed ...
- 带你和Python与R一起玩转数据科学: 探索性数据分析
内容简介 本系列将介绍如何在现在工作中用两种最流行的开源平台玩转数据科学.本文先来看一看数据分析过程中的关键步骤 – 探索性数据分析(Exploratory Data Analysis,EDA). 探 ...
- Python爬虫 senlenium爬取拉勾网招聘数据,你学会了吗
一.基本思路 目标url:https://www.lagou.com/ 用selenium爬虫实现,输入任意关键字,比如 python 数据分析 ,点击搜索,得到的有关岗位信息,爬取下来保存到Exce ...
最新文章
- s5p4418 Android 4.4.2 驱动层 HAL层 服务层 应用层 开发流程记录(三 APP应用)
- P3041-[USACO12JAN]Video Game G【AC自动机,dp】
- evalin matlab,求解MATLAB问题
- linux那些事之page table
- java中线程的优先级别
- 【leetcode】931. Minimum Falling Path Sum
- 基于卷积神经网络的微表情识别研究需要注意的一些问题【未完待续】
- mysql手机号段地区库_最新全国手机号段归属地数据库下载(mysql+xlsx+txt格式)46万条...
- PHP微信公众号服务器配置
- html苹果笔记本文稿如何转换,苹果电脑的pages文档想要变成word格式该如何转换...
- 集合竞价如何买入_教你几招!什么是集合竞价?散户如何参与集合竞价?
- php span标签什么意思,htmlspan标签是什么意思?span标签的作用详解
- java坦克类的设计_纯JAVA坦克大战,可以做毕业设计
- 计算机网络——局域网
- 性能测试 性能测试实战(七)Jmeter分布式性能测试 influxDB Grafana Master Salve 主从配置 高并发性能测试 环境搭建 性能数据收集 性能数据可视化平台 搭建问题分析
- XDOJ综合题 数字统计排序
- linux ssh 终端退格键,退格键,Tab,Del和箭头键在终端中不起作用(使用ssh)
- Springboot接收前端的Json但是为null
- 疫情影响下的物联网发展趋势
- 微信多群直播机器人平台(一起学堂)