用Python分析我國2012年人口普查數據

近來一個月在公司沒什麼任務,於是想找點事情,找點什麼好玩的。在一次的偶然中發現了國家統計局這個網站,上面應該是統計了我國各族數據。

中華人民共和國國家統計局?

www.stats.gov.cn

在網站上找到了2012年人口普查的數據。

index?

www.stats.gov.cn

想著反正無聊。來一波人口普查的數據分析吧。


首先看看網頁的排版。

感覺樣式還停留在幾年前。不理了,先把數據下載下來再說。那麼多數據難道要一個個的下載?不可能的。作為一個碼農(其實我是個新手)最討厭的就是重複了。

那麼又想下載下來,又不想一個個的點。怎麼辦呢。這時候肯定想到爬蟲啦。

恩,開始碼代碼。

import requestsfrom bs4 import BeautifulSoupheaders = { user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 }url = http://www.stats.gov.cn/tjsj/pcsj/rkpc/6rp/indexce.htmweb_data = requests.get(url=url, headers=headers)Soup = BeautifulSoup(web_data.content, lxml)

requests和BeautifulSoup來一波。看看輸出

</head>

<frameset border="0" frameborder="0" framespacing="0" rows="61,*,19">

<frame name="top" noresize="" scrolling="no" src="top.htm" target="contents"/>

<frameset cols="240,*">

<frame name="contents" scrolling="auto" src="lefte.htm" target="main"/>

<frame name="main" scrolling="auto" src="notepyrightce.htm"/>

</frameset>

<frame name="bottom" noresize="" scrolling="no" src="bottom.htm" target="contents"/>

<noframes>

<body topmargin="2">

<p>此網頁使用了框架,但您的瀏覽器不支持框架。</p>

</body>

</noframes>

</frameset>

</html>

喵喵喵?什麼鬼?

原來該網站用了微軟的一個框架,好像是用來顯示Excel表格數據的。瀏覽器不支持,第一個想到的就是換UA。但是一連換了幾個UA都沒用。

這時候我去分析了網站的頁面。發現網頁分成了2部分。

我們要的數據全在lefte.htm上。拼成完整的url stats.gov.cn/tjsj/pcsj/

然後寫爬蟲,下載數據。看到文件夾里滿滿的數據。

此時的我


男佔51.19%,女佔48.81%。不考慮年齡和國外的話,有差不多3%的漢子們找不到另一半(不是找不到,是沒有,沒有你懂么.jpg)

---------手動分割線-------

人口最多的省是廣東省,人口最少的是西藏。以前一直以為人口第一省是河南,沒想到居然是廣東,可能是近10年來廣東經濟的飛速發展,人口增長起來了。西北地區人口密度低的可怕,以為惡劣的環境因素,所以西藏人口最少是理所當然的。

---------手動分割線-------

圖中可以很直觀的看出全國各地人口分布的情況。

---------手動分割線-------

全國及各省性別比。可以看得出全國每個省的性別比都是超過了1的,也就是說全國各省都是男性高於女性(找到自己單身的原因了)。男女性別比最低的是江蘇1.02也高於1。但是對比其他省低,找不到妹子的可以去江蘇溜達溜達。最高的是天津,心疼天津漢子一波。

---------手動分割線-------

各地戶口人數,這裡的戶口人數估計是指的戶口本上的人數,也就是家庭規模,一家幾人。圖中可以看出最低的是北京,平均只有2.45人。而最高的是西藏,平均4.23人。

未完待續(個人感覺知乎的編輯器真難用。。。)。。。。。


推薦閱讀:

Numpy和Pandas---數據分析的梯子
大咖聊數據| 滴滴出行李觀:數據維度上的評估效果,最直接看LTV
零基礎學習Python數據分析:科學計算庫NumPy(2)
胡說江湖 2017 年 03 月 08 日的文章

TAG:Python | 數據分析 | 中國人口 |