python 数据可视化
本文中主要使用matplotlib和Pandas对数据进行可视化
数据来源:爬取的BOOS直聘数据分析数据
数据展示
本文中针对以上数据,对salary,company_info,work_time,education这几个信息进行数据可视化,做出直方图和饼图
整体框架
先看一下使用的包吧
import re #正则表达式模块
import json #json模块
import pandas as pd #pandas模块
from nltk import FreqDist #nltk模块,用于分析词频
import matplotlib.pyplot as plt #matplotlib模块
from numpy import nan as NAN #numpy 模块
指定matplotlib中的字体
plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
初始化,构造DataFrame数据
由于数据是从爬虫返回的JSON文件中导出的,而爬虫返回的JSON文件中JSON格式不标准,需要对格式进行处理,然后再loads为Python对象
def __init__(self):
#读出文件中的内容
self.fp = open("boss_fp.json",'r',encoding='utf-8').read()
#在每一行数据中添加逗号,
self.fp_re = re.sub(r"}","},",self.fp)
#取出最后一个逗号,并在首尾添加方括号,构造为一个标准的JSON数据
self.fp_re = "["+self.fp_re[:-2]+"]"
#loads为Python对象数据
self.json_str = json.loads(self.fp_re)
self.df = pd.DataFrame(self.json_str)
数据清洗
在这个项目中