版本:pyecharts 分为 v0.5.X 和 v1 两个大版本,v0.5.X 和 v1 间不兼容,v1 是一个全新的版本
v0.5.X支持 Python2.7,3.4+经开发团队决定,0.5.x 版本将不再进行维护
v1仅支持 Python3.6+
新版本系列将从 v1.0.0 开始
一 、pyecharts版本号查看
1.打开Anaconda promt(没有下载Anaconda的请自行下载),在命令行输入pip list 找到pyecharts即可找到pyecharts当前的版本号,如下图:
2.用程序
若版本号前为0开头,请更新到V1版本。
二、步骤
- 把爬取好的数据进行归类,处理成省份、平均薪资。
- 把数据扔在地图上,显示出每个省的平均薪资。
- pandas专门用来处理数据的
- 数据的显示用pyecharts
import pandas as pd
import requests
import json
data=pd.read_csv("XX数据.csv",header=None)
#筛选2,3列数据
data=data.loc[:,[2,3]]
#删除所有空数据
data=data.loc[data[3].notna()]
#需要把城市信息进行处理,获得到城市对应的省份信息
#找第三方api来处理数据
def get_prov_by_city(city):
if city=='异地招聘':
return "未知"
if "-" in city:
city=city.split("-")[0]
#找第三方api
#https://restapi.amap.com/v3/geocode/geo?address=北京市朝阳区阜通东大街6号&output=XML&key=<用户的key>
text=requests.get("https://restapi.amap.com/v3/geocode/geo?address=%s&output=XML&key=75a5b0b2973f5cb22c18997efdb17410"%city).text
dic=json.loads(test)#将返回的数据处理成字典形式
return dic['geocode'][0]['province'].strip("省").strip("市")#返回省份信息
#返回pyecharts所能识别的城市名。
data[2]=data[2].map(get_prov_city)#映射
#处理薪资问题
def get_salary(s):
#XX-XX万/月
if s.endwith("万/年"):
s=s.replace("万/年","")
start=s.split("-")[0]
end=s.split("-")[0]
avg_salary=(float(start)+float(end))/2
return avg_salary*10000*12#XXX元/年
#XX-XX千/月
#XX元/天 XX-XX元/天
#XX-XX万/年
data[3]=data.map(get_salary)
#计算省份,平均薪资
data=data.groupby(2).mean()#计算每组平均
data=data.reset_index()#重置索引,为了更加方便拿到省份和薪资的信息
print(data.values.tolist())#形成列表数据
#展示数据
from pyecharts.charts import Map,Page
from pyecharts import options as opt
p=Page()#创建一个显示的页面,一会用他来生产html
m=Map() #创建地图
m.add("薪资",data.values.tolist())
m.set_global_opts(visualmap_opt.VisualMapOpts(max_=max(data[3].values.tolist()),min_=min(data[3].values.tolist())))#配置滑块
m.set_series_opts(label_opts=opt.LabelOpts(is_show=True))#显示省份名字
p.add(m)
p.render("show.html")
对于pyecharts的使用,网上的教程大多是 V0 版本的教程,对于新版本没有详细的教程