拉钩网数据分析(薪酬篇):
import pymongo
import pandas as pd
import numpy as np
mongodb 连接或者读取csv格式文件
con = pymongo.MongoClient(‘localhost’)
db = con[‘数据库名’]
position = db[‘表名’]
- df =pd.read_csv(‘路径’,encoding = ‘gbk’) 读取csv格式文件
转成DataFrame
data = pd.DataFrame(list(position.find()))
数据清洗函数:
import re
def salary_filer(i):
res =re.search(r’(\d+)[kK]-(\d+)[kK]’,i)
if res:
result = (int(res.group(1))+int(res.group(2)))/2
return result
用apply方法应用清洗函数到DataFrame:
salary =data[‘salary’]
salary =salary.apply(salary_filer)
检查清洗过的数据:
salary.isnull().sum() 是否有空值
salary.describe() 查看信息
分类:要从大到小分
def get_range(i):
if i>30:
return “30k以上”
。。。。。
同样是用apply把分类应用上:
salary = salary.apply(get_range)
用value_counts()方法统计数量
salary_pie =salary.value_counts()
调用百度pyecharts转成饼状图:
- 下面接口的代码,直接找到复制修改就可以
from pyecharts import Pie
attr = salary_pie.index
v1 =salary_pie.values
pie = Pie(“饼图示例”)
pie.add(“”, attr, v1, is_label_show=True)
pie.render()