Python绘制各大城市职工工资分布地图
本文是利用Python绘制全国各大城市在岗职工平均工资(2016年)的地图分布情况。思路是:首先利用百度地图API爬取各大城市的经纬度坐标(绘制地图需要),而后从中国国家统计局下载2016年全国各大城市在岗职工平均工资数据,调用Python第三方库Folium绘制地图,保存成html文件。
先来看一下最终的效果吧
图1 全国各大城市在岗职工平均工资(2016年)的地图分布情况
环境:windows 64位
平台:Jupyter Notebook (kernel python 3)
库:pandas numpy folium matplotlib
百度地图API获取数据
百度地图提供了强大的API功能,其中输入地点返回经纬度的调用格式为
http://api.map.baidu.com/geocoder?address=地名&output=json&key=你的秘钥
秘钥需要去百度地图API注册,这里提供一个试用秘钥(37492c0ee6f924cb5e934fa08c6b1676)
获取经纬度的函数包括获取数据函数get_posi和解析数据函数parse_result
def get_posi(address):url='http://api.map.baidu.com/geocoder?address='+quote(address)+'&output=json&key=37492c0ee6f924cb5e934fa08c6b1676'#注意quote的用法,要将中文转换req=requests.get(url).json()
# response=request.urlopen(req)
# result=req.read()return req
#注意获取网页的方法,直接返回json结构
lats=[]
lngs=[]
def parse_result(result):try:lat=result['result']['location']['lat']lng=result['result']['location']['lng']lats.append(lat)lngs.append(lng)except TypeError:lats.append('None')lngs.append('None')
#添加try,except,如果无结果返回None
获取职工工资数据
数据下载点我
将下载数据中的地点转换为经纬度
df=pd.read_csv(u'在岗职工平均工资(元)2016.csv',encoding='gbk')
addrs=df[u'地区'].tolist()
for each in addrs:result=get_posi(each)parse_result(result)
df['lat']=pd.Series(lats,index=df.index)
df['lng']=pd.Series(lngs,index=df.index)
df.to_csv('revised_data.csv')
这里思路比较简单,读取下载的csv文件中的地区列,并使用tolist函数转换为列表,然后对列表中每个元素执行百度地图API操作,函数看上面,将返回的经纬度信息写入文件中并保存,以备不时之需。
这里需要注意输入“西安”时无效,需要输入“西安市”
利用Folium绘制工资地图
df=pd.read_csv('revised_data.csv',encoding='gbk') #读取数据注意编码
lat=np.array(df['lat'])#读取经度
lng=np.array(df['lng'])#读取纬度
salary=np.array(df['2016年'],dtype=float)#读取工资
data=[[lat[i],lng[i],salary[i]] for i in range(len(lat))]#组合经纬度、工资数据为列表形式
map_osm = folium.Map(location=[35,110],zoom_start=5) #绘制Map,开始缩放程度是5倍
HeatMap(data).add_to(map_osm) # 将热力图添加到前面建立的map里
map_osm.save('salary.html')#将绘制好的地图保存为html文件
这里主要是要应用Folium库, 官方文档点我
这样就大功告成了,打开html文件就可以看到工资地图了
Python绘制各大城市职工工资分布地图相关推荐
- python绘制一份完美的中国地图
本文章小编将带你学会使用python绘制一份完美的中国地图~ 昨日,突地被一大早的微博热搜 #自然资源部核查处理问题中国地图# 刷屏,恍惚中看到了近日在追的<亲爱的,热爱的>.小编还沉浸在 ...
- 【Python基础】纯Python绘制满满艺术感的山脊地图
本文示例代码及附件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 下面的这幅图可能很多读者朋友们都看到过,这 ...
- python label background设置成透明_纯Python绘制满满艺术感的山脊地图
点击上方"蓝字"关注我们 Python大数据分析 记录 分享 成长 添加微信号"CNFeffery"加入技术交流群 ❝ 本文示例代码及附件已上传至我的G ...
- python 山脊图_纯Python绘制满满艺术感的山脊地图
❝ 本文示例代码及附件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes❞ 1 简介 下面的这幅图可能很多读者朋友们都看到 ...
- python根据json数据画疫情分布地图
目录 一.基础地图使用 1.掌握使用pyecharts构建基础的全国地图可视化图表 二.疫情地图--国内疫情地图 1.案例效果 代码 三.疫情地图--省级疫情地图 四.数据集 注:数据集在文章最后 一 ...
- [数据分析与可视化] Python绘制数据地图2-GeoPandas地图可视化
本文主要介绍GeoPandas结合matplotlib实现地图的基础可视化.GeoPandas是一个Python开源项目,旨在提供丰富而简单的地理空间数据处理接口.GeoPandas扩展了Pandas ...
- python画树叶-手把手|如何用Python绘制JS地图?
原标题:手把手|如何用Python绘制JS地图? 关于转载授授权 大数据文摘作品,欢迎个人转发朋友圈,自媒体.媒体.机构转载务必申请授权,后台留言"机构名称+文章标题+转载",申请 ...
- 每日一练:Python国内疫情数据爬取与地图绘制
Python 国内疫情数据爬取与地图绘制 效果图 累计确诊疫情地图绘制 ① 时时数据抓取 ② 获取省份疫情数据 ③ 视觉配置项分段颜色数据设置 ④ 累计确诊疫情地图绘制 现存确诊疫情地图绘制 ① 获取 ...
- python 绘制分布直方图_统计学中常见的4种抽样分布及其分布曲线(Python绘制)...
现代统计学奠基人之一.英国统计学家费希尔(Fisher)曾把抽样分布.参书估计和假设检验看作统计推断的三大中心内容. 统计学中,需要研究统计量的性质,并评价一个统计推断的优良性,而这些取决于其抽样分布 ...
最新文章
- Error in ** : incorrect number of dimensions
- 翻译连载 | 第 10 章:异步的函数式(下)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇...
- RDIFramework.NET ━ 9.3 用户管理 ━ Web部分
- oracle的隐式游标有哪些,Oracle隐式游标小例子
- oracle11g基目录和主目录,Red Hat Enterprise Linux4.0 安装oracle11g
- 解决OpenCV JavaCameraView相机preview方向问题
- 视频教程-R语言入门基础-大数据
- UI设计师常用500多款字体和73款手写字体打包
- 服务器cache文件夹里的东西可以删除吗,MSOCache文件夹可以删除吗?如何清理C盘空间?...
- 为中国的孩子制造安全的校车
- 计算机信息系统安全保护等级由低到高,网络信息系统安全保护等级分为几级?...
- [android] 手机卫士黑名单功能(ListView结合SQLite增删改)
- R分数复现 R-precision评估指标定量 文本生成图像R分数定量实验全流程复现(R-precision)定量评价实验踩坑避坑流程
- Grandpa's Estate POJ - 1228(凸包极角序改写)
- 野牛NBIOT 环境监测项目---NBIOT模块/设备简介(二)
- 【Python应用】tkinter简介
- 谷歌源码输入法修改版(支持拖动,放大缩小)
- revit开发之判断两条直线是否平行
- 在网页中实现icon小图标的几种方法
- java实现定时任务 schedule_Java定时任务调度详解
热门文章
- admob插屏激励视频广告
- The element or ID supplied is not valid. (videojs) elementui
- 【CAD3D】0基础绘制立体模型
- 6-1 写文章(*) (10分)
- 项目管理中各种英文简称
- lazarus 四舍六入修约简述
- 山石防火墙命令查看配置_hillstone防火墙配置实例介绍
- Cookie与Session的工作流程
- 战略规划+数字化转型实战案例——定制家居企业的制胜之道
- 中大计算机复试时间,中山大学2017年考研复试时间3月20-4月10日