久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

【數(shù)具】Python 百度API 畫出美美噠熱力地圖

 學(xué)習(xí)雪雪 2018-01-10

如今,,大數(shù)據(jù)的重要性不言而喻,讓數(shù)據(jù)說話已經(jīng)滲透到各個(gè)行業(yè),,我們的數(shù)據(jù)分析師們也從單一的數(shù)據(jù)分析轉(zhuǎn)化為更加重視用戶的體驗(yàn),,比如通過數(shù)據(jù)可視化,將一大堆密密麻麻的數(shù)字轉(zhuǎn)成圖表形式,。這樣可以更直觀地向用戶展示數(shù)據(jù)之間的聯(lián)系和變化情況,,減少用戶的閱讀和思考時(shí)間,以便很好地做出決策,。 


作者 | 王大偉

編輯 | 數(shù)小妹


如何讓數(shù)據(jù)化繁為簡,,直觀體現(xiàn)?今天就來和大家一起用Python 百度API 畫出美美噠熱力地圖,。


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


在國家統(tǒng)計(jì)局網(wǎng)站copy到2015年各城市的房地產(chǎn)開發(fā)投資額數(shù)據(jù):



把數(shù)據(jù)保存在本地,,存成csv格式


百度API免費(fèi)申請(qǐng)


打開網(wǎng)址:http://lbsyun.baidu.com/


注冊(cè)好,按照下圖操作:


點(diǎn)擊  功能與服務(wù)----地圖



點(diǎn)擊創(chuàng)建應(yīng)用:



然后自己取個(gè)名字,,選擇瀏覽器端,,白名單輸入星號(hào):



點(diǎn)擊提交


你就有了一個(gè)應(yīng)用了



城市轉(zhuǎn)換為經(jīng)緯度


我們打開百度地圖的開放平臺(tái)


http://developer.baidu.com/map/jsdemo.htm#c1_15


在左側(cè)找到添加熱力圖-----點(diǎn)擊運(yùn)行-----點(diǎn)擊顯示熱力圖-----就能看到熱力圖啦~



這是百度API所能提供的熱力圖類型


我們注意到所給的這段代碼:



我們將您的密鑰換成剛才我們申請(qǐng)得到的那串?dāng)?shù)字


也就是:



然后在本地新建一個(gè).html文件(可以通過創(chuàng)建文本文件,然后將后綴改為.html達(dá)到,,如果你的文本文件不顯示后綴,,請(qǐng)百度解決~)


我們將加入了自己申請(qǐng)的密鑰的網(wǎng)頁代碼全部復(fù)制下,粘貼到本地創(chuàng)建的 .html 文件中



復(fù)制的代碼中的示例熱力圖的位置不是我們想要的


我們想要的是我們的數(shù)據(jù)生成熱力圖


打開Python


import json

from urllib.request import urlopen, quote 

import requests,csv 

import pandas as pd #導(dǎo)入這些庫后邊都要用到 


def getlnglat(address):

    url = 'http://api.map.baidu.com/geocoder/v2/'  

    output = 'json'

    ak = '替換成你申請(qǐng)的密鑰??!'

    add = quote(address) #由于本文城市變量為中文,,為防止亂碼,,先用quote進(jìn)行編碼

    uri = url '?' 'address=' add   '&output=' output '&ak=' ak

    req = urlopen(uri)

    res = req.read().decode() #將其他編碼的字符串解碼成unicode

    temp = json.loads(res) #對(duì)json數(shù)據(jù)進(jìn)行解析       return temp


file = open(r'E:\房地產(chǎn)開發(fā)投資額2015.json','w') #建立json數(shù)據(jù)文件 

with open(r'E:\房地產(chǎn)開發(fā)投資額2015.csv', 'r') as csvfile: #打開csv

    reader = csv.reader(csvfile)

    for line in reader: #讀取csv里的數(shù)據(jù)

        # 忽略第一行

        if reader.line_num == 1: #由于第一行為變量名稱,故忽略掉

              continue

              # line是個(gè)list,,取得所有需要的值

        b = line[0].strip() #將第一列city讀取出來并清除不需要字符

        c = line[1].strip()#將第二列price讀取出來并清除不需要字符

        lng = getlnglat(b)['result']['location']['lng'] #采用構(gòu)造的函數(shù)來獲取經(jīng)度

        lat = getlnglat(b)['result']['location']['lat'] #獲取緯度

        str_temp = '{'lat':' str(lat) ','lng':' str(lng) ','count':' str(c) '},'

        #print(str_temp) #也可以通過打印出來,,把數(shù)據(jù)copy到百度熱力地圖api的相應(yīng)位置上

        file.write(str_temp) #寫入文檔

 file.close() #保存


參考文獻(xiàn):

https://www.jianshu.com/p/773ff5f08a2c


運(yùn)行完成之后,本地會(huì)出現(xiàn)一個(gè)json文件



打開可以看到:



是一長串json數(shù)據(jù),,我們?nèi)x這些數(shù)據(jù),,復(fù)制替換掉本地的html文件中的var經(jīng)緯度部分

原本是這樣的:



替換完成后是這樣的:

(我是用notepad 以編輯的方式打開的本地html文件)



保存之后,以網(wǎng)頁瀏覽的方式打開本地的html


使用鼠標(biāo)滾輪放大縮小到可以看見全國視野,,然后點(diǎn)擊左下角顯示熱力圖即可看到~


你出現(xiàn)的圖是這樣的:



因?yàn)樵紨?shù)據(jù)默認(rèn)為20和100,,只要超過100的值顯示都一樣,,而且沒有漸變輻射的效果



可以修改熱力點(diǎn)輻射半徑(輻射范圍大小)和最大值


我們數(shù)據(jù)的price最大是北京的4177,,所以我設(shè)置為4000,,保存



再次打開操作就能看到美美噠熱力圖啦~



你可以拿這個(gè)方法去做其他熱力圖啦~比如房價(jià)熱力圖,GDP熱力圖等等~


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多