手把手教你用Python+可視化工具制作漂亮地圖

大家好,我是J哥。
這次呢,我想講講地圖可視化的內(nèi)容,以前我也寫過用Python的內(nèi)置庫繪制地圖,但總感覺不夠美觀。如何才能在短時間內(nèi)制作漂亮的可視化地圖呢,我覺得Python+可視化工具是不錯的選擇。
以下動態(tài)可視化地圖就是J哥親手繪制,展現(xiàn)了一段時間內(nèi)廣州市企事業(yè)單位在網(wǎng)上商城采購商品的分布及隨時間的變化。


數(shù)據(jù)準(zhǔn)備

1df?=?pd.read_excel('cc.xls',index=False)
2df.head()

第二步,根據(jù)采購單位字段獲取經(jīng)緯度,批量獲取經(jīng)緯度的方法很多,詳情可參考J哥往期原創(chuàng)文章「用Python評測三種批量查詢經(jīng)緯度的方法,你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()長這樣:

第三步,對經(jīng)緯度字段分列并存儲為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)
簡單三步數(shù)據(jù)準(zhǔn)備完畢,數(shù)據(jù)預(yù)覽如下:


數(shù)據(jù)可視化

pip?install?keplergl

http://map.guihuayun.com/ #規(guī)劃云網(wǎng)站搭的一個鏡像







總結(jié)

當(dāng)然,我們還可以利用同樣的數(shù)據(jù)集制作成熱力圖、3D地圖等。關(guān)鍵是,如此便捷實用又美觀的地圖可視化工具竟然免費!感覺它比目前市面上很多付費工具還要給力。


PS:公號內(nèi)回復(fù)「Python」即可進入Python 新手學(xué)習(xí)交流群,一起?100 天計劃!
老規(guī)矩,兄弟們還記得么,右下角的 “在看” 點一下,如果感覺文章內(nèi)容不錯的話,記得分享朋友圈讓更多的人知道!


【神秘禮包獲取方式】
評論
圖片
表情
