<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          用Python繪制人口分布經(jīng)緯網(wǎng)

          共 946字,需瀏覽 2分鐘

           ·

          2022-06-01 17:06

          話說(shuō),刷朋友圈的時(shí)候,發(fā)現(xiàn)這樣一張圖:



          全球人口按緯度分布,很明顯的可以看見(jiàn)北緯三十度附近,那是紅彤彤的一片……

          看完之后,蝦神突發(fā)奇想,就以中國(guó)而論是什么樣子呢?如果按經(jīng)度分布,又是什么樣子呢?


          做為碼農(nóng),不能光想不練,說(shuō)動(dòng)手就動(dòng)手。

          下面是結(jié)果:



          下面放出完整代碼:

          本代碼沒(méi)有任何技術(shù)難點(diǎn),關(guān)鍵是效率和速度。

          首先是數(shù)據(jù):2020全球人口1平方公里的柵格數(shù)據(jù),大家可以到下面去下載:
          https://www.worldpop.org/geodata/summary?id=24777


          然后我在ArcGIS里面,截取了中國(guó)范圍的數(shù)據(jù),如下所示:
          可以看見(jiàn),中國(guó)大部分地區(qū)還是無(wú)人區(qū)(平方公里小于50人),而1000人一下的區(qū)域,也占到絕大多數(shù),密度比較高的幾個(gè)地方,比如長(zhǎng)三角、京津冀、珠三角:


          好了,數(shù)據(jù)介紹結(jié)束,下面看看怎么作圖:


          整個(gè)中國(guó)范圍內(nèi)的數(shù)據(jù),一共是5670行,7398列。

          首先對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì),分布圖的統(tǒng)計(jì)方式是以行列進(jìn)行累加,然后用累加的值做為這個(gè)一行(列)的值,所以很簡(jiǎn)單的分行列累加就行。

          但是,如何去累加就需要說(shuō)到說(shuō)到了,一般來(lái)說(shuō),寫習(xí)慣了傳統(tǒng)算法的同學(xué),想到的第一反應(yīng)肯定按行列就行循環(huán)累加……
          當(dāng)然,不能說(shuō)不行,但是這是一種效率超級(jí)低的方法:

          這樣的迭代方式,把行統(tǒng)計(jì)完,需要7.5s……好吧,也不算太慢。

          但是有沒(méi)有更快的方法么?很簡(jiǎn)單,少一層迭代就行:

          少一層迭代,取出每一行,然后用sum函數(shù)已處理,速度差不多提升了一倍。

          那么……還有沒(méi)有更快的方法呢?

          答案自然就是Python的天賦技能——調(diào)包:

          直接用numpy的sum包,執(zhí)行僅需要26.8毫秒。。。效率比最慢的方式,快接近300倍!!

          所以,寫Python的時(shí)候,最關(guān)鍵的地方,在于調(diào)包,正如人類對(duì)工具的使用能力,決定了人類成為地球的霸主:Python調(diào)包的能力,決定了Python的效率。

          好了,關(guān)鍵的部分說(shuō)明了,下面就是繪圖了:




          源代碼的位置依然在老地方:
          https://gitee.com/godxia
          008人口分布專題圖


          打完收工

          加入知識(shí)星球【我們談?wù)摂?shù)據(jù)科學(xué)】

          500+小伙伴一起學(xué)習(xí)!








          ·?推薦閱讀?·

          盤點(diǎn)2021最佳數(shù)據(jù)可視化作品

          一行代碼實(shí)現(xiàn)地址信息解析

          新一代Python包管理工具來(lái)了


          瀏覽 62
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  私人玩物视频 | 中国女人一级一次看片 | 欧美黄A片免费视频www | 亚洲综合网站第六区 | 日本A片免费在线观看 |