手把手教你用Python+可视化工具制作漂亮地图
以下动态可视化地图就是J哥亲手绘制,展现了一段时间内广州市企事业单位在网上商城采购商品的分布及随时间的变化。

数据准备

1df = pd.read_excel('cc.xls',index=False)
2df.head()
第二步,根据采购单位字段获取经纬度,批量获取经纬度的方法很多,详情可参考J哥往期原创文章「用Python评测三种批量查询经纬度的方法,你pick哪一种?」。
1def gaode(addr):
2 para = {
3 'key':'你的',
4 'address':addr
5 }
6 url = 'https://restapi.amap.com/v3/geocode/geo?'
7 req = requests.get(url,para)
8 req = req.json()
9 print('-' * 30)
10 if req['status']=='1':
11 if len(req['geocodes']) > 0:
12 m = req['geocodes'][0]['location']
13 print(m)
14 else:
15 print("None")
16 m = ""
17 else:
18 print("None")
19
20 return m
21gaode(addr="广州")
1df['lat_lon'] = df['buyer'].apply(gaode)
2df.head()
长这样:
第三步,对经纬度字段分列并存储为csv格式。
1df["lat"] = df["lat_lon"].str.split(',',expand=True)[1]
2df["lon"] = df["lat_lon"].str.split(',',expand=True)[0]
3df = df.drop('lat_lon',axis=1)
4df.to_csv('cc.csv',index=False)
简单三步数据准备完毕,数据预览如下:

数据可视化

pip install keplergl

http://map.guihuayun.com/ #规划云网站搭的一个镜像







总结

当然,我们还可以利用同样的数据集制作成热力图、3D地图等。关键是,如此便捷实用又美观的地图可视化工具竟然免费!感觉它比目前市面上很多付费工具还要给力。


由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:
(1)点击页面最上方“小詹学Python”,进入公众号主页。
(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
感谢支持,比心。
评论