中国的人口总数已经突破14亿了,你知道吗?中国人口的出生率、死亡率和自然增长率你了解吗?中国人口的男女比例你清楚吗?不要着急,跟随着我来一起了解。
获取人口数据
我们的目标是
获取新中国成立后70年的总人口数据,以及人口的出生率、死亡率和自然增长率数据。
我们从中国最权威的地方获取人口数据——国家数据。网址是:http://data.stats.gov.cn/easyquery.htm?cn=C01。打开网页后,如下图:
左边是菜单树,包含各种各样的统计数据。右边是数据表格,表格右上方有选择项,我们可以看到总人口数据可以选择时间段。
要想获取数据,我们先要分析请求,于是我们打开了网页开发者工具,我们可以很容易地找到获取数据的请求:
通过分析请求参数,我们可以得出几个变动参数的含义:
- m:固定为 QueryData。
- dbcode:固定为 hgnd。
- rowcode:固定为 sj。
- colcode:固定为 zb。
- wds:固定为 []。
- dfwds:数组。当 wdcode 为
zb
时,valuecode 表示指标,A0301表示总人口,A0302表示人口出生率、增长率和死亡率。当 wdcode 为sj
时,valuecode 表示时间,LAST5 表示5年,LAST70 表示70年。 - k1:时间戳,可以不用管。
弄清楚了这些,我们就可以开始发送请求获取数据了:
1 |
|
考虑到我们可能需要调试程序,不宜多次频繁请求网站,所以我们这里将获取到的数据存入 Excel 表格中,并且将两份数据合成一个表格。
1 |
|
大家注意一点,国家数据网站上最新的人口数据是2018年的,所以2019年我得从另外渠道(国家统计局网站)获取,并且加入表格中。我获取数据的地址是:http://www.stats.gov.cn/tjsj/zxfb/202001/t20200117_1723383.html。
我们生成的数据表格是这样的:
分析人口数据
获取到我们需要的数据后,我们就可以利用数据来分析我们关心的话题了,这里主要以图表方式来呈现。
人口总数分析
我将70年的总人口数制作成一个柱状图,来展现新中国成立以来人口数的变化情况:
1 |
|
画图的代码我就不详细讲解了,大家感兴趣可以去看一下 pyecharts 作图。
总人口数的柱状图效果如下:
从图中可以看出,我们的总人口数除了1960年和1961年两年是减少的,其他年份都是增加的。而那两年是由于严重自然灾害导致的大饥荒,饿死了好多人。我们也可以看到在2019年,我国的人口总数正式突破14亿人,以后需要更新数据了,再也不要在别人面前说我们国家有13亿人了。
接下来,我们将人口出生率、死亡率和自然增长率用折线图来展现,代码如下:
1 |
|
运行代码,我们得到的图像如下:
同样的,我们可以看到如下几点:
- 1960年和1961年两年因为大饥荒导致死亡率激增。
- 可能由于大饥荒过后国家鼓励生育,人口增长率在1962年出现大幅反弹,并于1963年达到峰值后开始下跌。
- 图中除了特殊年份外,死亡率趋于平稳,所以自然增长率和出生率呈现一定的正相关性。
- 在2016年出生率出现小幅反弹,没错,那年是放开二胎的元年。
- 虽然放开了二胎,但是大家好像不热衷于生小孩了,人口出生率在近两年下降明显。
人口性别分析
对于人口性别分析,我们从两个方面出发,一个是目前我国总人口中的男女比例,另一个方面是我国男女人口差额的变化情况。
我们首先用一个饼图来看看2019年的男女比例:
1 |
|
运行代码得到的效果图如下:
很显然,目前中国男性比女性多了2个多百分点。青年男士依然面临僧多粥少的局面啊。
下面我们来计算一下新中国成立以来男女的差额,然后通过折线图来看看变化情况,代码如下:
1 |
|
运行代码,得到的图像如下:
从图中可以看出:
- 在60年代,男女的差额是最小的一段时期,只有不到2000万。
- 在80年代末到90年代末这期间差值缩小明显,而后又迅速攀升到2000年的峰值4131万。这个变化我不知道是什么政策或事件导致的,你们知道吗?
- 近些年,男女的差值是缓慢减少的,这可能是对于单身男士的唯一利好消息了吧。
总结
本文从国家数据官方网站获取到中国人口的数据,然后通过图标将总人口、人口变化率以及人口性别等几个方面展现出来,从而可以直观地看到我国人口的总体情况。通过阅读本文,对于中国人口的陈旧记忆,你是否更新了呢?
文中示例代码:python-100-days