怎么用Python分析人口数据

本篇内容介绍了“怎么用Python分析人口数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联建站企业建站,10余年网站建设经验,专注于网站建设技术,精于网页设计,有多年建站和网站代运营经验,设计师为客户打造网络企业风格,提供周到的建站售前咨询和贴心的售后服务。对于成都网站制作、网站设计中不同领域进行深入了解和探索,创新互联在网站建设中充分了解客户行业的需求,以灵动的思维在网页中充分展现,通过对客户行业精准市场调研,为客户提供的解决方案。

一、分析目标

新中国成立70,经历了许许多多的风风雨雨,政策、经济、文化也有很多的变化,人口也随之变化。

人口变化对社会经济发展带来巨大而深远的影响,所以今天我们从多角度来分析我国人口变化:

  1. 人口总数

  2. 男女比

  3. 城镇化

  4. 增长率

  5. 人口结构

二、爬取数据

关于我国人口的数据来源,可以从“国家数据”网站中获取。这是一个由国家统计局提供的网站,里面有很多国家公开的数据信息!

怎么用Python分析人口数据

1.请求单页数据

在国家数据网站中,有从新中国成立到2018年的人口相关数据。

怎么用Python分析人口数据

在人口数据中,有三项是我们需要的数据:总人口、增长率、人口结构。

我们按F12查看一下请求的链接,然后复制链接使用requests请求数据。

怎么用Python分析人口数据

只使用一个简单的get请求,就把数据获取了,而且返回的直接是json数据!

怎么用Python分析人口数据

2.分页数据

我们此次的目的是抓取从新中国至今的所有人口数据,而页面中最多可以获取近20年的数据,所以我们需要分析网页请求中关于分页的参数。

怎么用Python分析人口数据

分析请求参数猪哥发现主要有两个参数:zb、sj,分别表示指标和时间。

怎么用Python分析人口数据
怎么用Python分析人口数据

参数:sj=LAST10,表示近10年,于是猪哥猜想:sj=LAST70 是不是就可以获取70年的数据呢?

怎么用Python分析人口数据

然后我们再将zb参数更换,获取到所有的数据!

怎么用Python分析人口数据

3.保存Excel

获取到数据之后,我们先将数据清洗,提取出我们需要的数据,然后整理保存到Excel中,数据处理方面我们仍然使用 潘大师(pandas)。

怎么用Python分析人口数据

我们来看看保存的excel文件数据。

怎么用Python分析人口数据

4.2019年数据

目前数据唯一的不完整就是没有2019年的数据,因为2019年刚刚完结所以数据还没有登记到网站上,我们只能自己算出来然后补齐。

怎么用Python分析人口数据

猪哥根据2020年1月17日,国家统计局发布了 2019年国民经济报告中关于人口的数据得出了2019年的相关数据。

怎么用Python分析人口数据

来看看完整的70年人口数据。

怎么用Python分析人口数据

三、数据分析

数据保存完毕后我们就可以开始数据分析步骤了,一般在我们数据分析之前我们需要有个思路:要分析什么?从哪些角度分析?选择何种可视化图形?得出了什么结论?(当然实际工作时的分析报告需要更为严谨,但大体思路类似。)

1.总人口

首先我们提取Excel中的“年末总人口”这一列的数据进行分析。

怎么用Python分析人口数据

直接上代码,猪哥先使用潘大师读取Excel,然后再获取总人口的列数据(完整代码请查看源码)。

怎么用Python分析人口数据

上面的代码和之前画曲线有点不同的是:添加了自定义曲线背景色和区域色的功能,下次有同学想自定义pyecharts曲线背景就可以参考这里的代码。

在下图中猪哥标注了四个点:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 1949年:新中国成立,总人口 5.42亿

  3. 1980年:计划生育正式开始,总人口 9.87亿

  4. 2016年:全面放开二胎,总人口 13.83亿

  5. 2019年:总人口 14亿

怎么用Python分析人口数据

通过观察总人口曲线图得知:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 人口总体在增加,但增长曲线慢慢放缓,据社科院预测:中国人口将在2029年达到峰值14.42亿,往后逐步下降

  3. 新中国成立至今(2020年)唯一出现人口减少的是1960和1961年,这两年是我国的自然灾害年。

怎么用Python分析人口数据

根据总人口数,我们再来分析一下 执行计划生育生育前31年与 后31年增长的人口分别是多少?

怎么用Python分析人口数据

根据上图我们可以看出:计划生育确实控制了人口的增长!

而放开二胎后并未迎来生育高峰期,联合国相关机构发布的《世界人口展望》2017修订版给出了类似的预期。它倾向于认定中国人口已经开始了倒V型反转,在人口到达高峰后,2050年将会保持13亿多,然后就会加速下滑(低、中、高三种生育率,来自联合国人口基金)。

怎么用Python分析人口数据

2.男女人口比例

我们经常会听到别人说:“中国男女比例失衡,将有3000万中国男性娶不到老婆”。

其实这是我国男女比例失衡造成的结果。

怎么用Python分析人口数据

下面猪哥就从以下4个角度来分析我国男女比例的关系:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 2019年男女比

  3. 男性占总人口比例

  4. 男女人口数曲线

  5. 男女人口数差值

怎么用Python分析人口数据

根据上面4图我们可以得出一些结论:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 新中国成立以来男性人口一直比女性人口多,可能与我国重男轻女思想有一定关系。

  3. 男性占比最高是在新中国成立之初为51.96%,最低是在1996年为50.82%。下图是来自快易数据提供的 中国、印度、日本、英国、美国  五国的男性占比图,从图中可以清晰看出中国与印度的男女比一直处于失衡状态。

怎么用Python分析人口数据

    3.2000年我国男女人口差值最大为4131万人,最小差值是在1965年为1718万人。

    4.2006年以来我国男女比例失衡状况逐年缓解

我国到底有多少男性同胞们会打光棍? 由于篇幅有限,我们下期做一个专题分析这个问题!

3.人口城镇化

有很多同学不理解何为“人口城镇化”,下面猪哥引用百度百科的介绍:

人口城镇化是指农村人口转变为城镇人口、农业人口转变为非农业人口的过程,它是社会生产力发展到一定阶段的产物。

城镇化是一个综合指标,可以用来衡量当地经济发展情况、基础设施和人民生活水平。

同时,城镇化的进程也是房地产市场在需求层面的重要支撑力量,下图是一张人口城镇化与社会发展关系的图。

怎么用Python分析人口数据

根据美国地理学家诺瑟姆对世界各国城市化的研究,世界城市化分为三个阶段:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 初期(人口城镇化在30%以下):农村人口占优势,工农业生产力水平较低,工业提供就业机会少,农业剩余劳动力得不到释放。

  3. 中期(人口城镇化30%~70%):工业基础比较雄厚,经济实力明显增强,农村劳动生产率提高,剩余劳动力转向工业,城市人口比重快速突破50%,而后上升到70%。

  4. 后期(人口城镇化70%~90%):农村人口向城镇人口的转化趋于停止,农村人口占比稳定在10%左右,城市人口可以达到90%左右,趋于饱和,这个过程的城市化不再是人口从农村流向城市,而是城市人口在产业之间的结构性转移,主要是从第二产业向第三产业转移。

来看看我国人口城镇化数据分析:

怎么用Python分析人口数据

由上图分析可知:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 2019年我国人口城镇化达到60.6%,处于人口城镇化的中期。

  3. 1995年我国乡村人口达到峰值:8.59亿。

  4. 1996年我国城镇化步伐加快,同年城镇化超过30%,进入城镇化的中期。

  5. 在2010年我国城市人口与乡村人口持平约为6.7亿,城镇化为50%。

联合国对中国人口城镇化进程进行了预测:我国城镇化初期是1949年~1995年,中期是1996年~2032年,后期是2033年以后。

怎么用Python分析人口数据

4.人口增长率

数据可视化的代码猪哥就不放出来了,想看的同学直接取看源码吧,我们直接看图片。

怎么用Python分析人口数据

由上图得知:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 在自然灾害三年(1959、1960、1961)我国人口死亡率陡增,出生率也下降,人口出现新中国成立以来第一次负增长!

  3. 在自然灾害过后的两年(1962、1963)迎来我国最大的一波生育潮,我们通过2010年人口第五次普查的数据也可以验证这个结论。

怎么用Python分析人口数据

    3.自然灾害三年过后我国的死亡率一直趋于稳定,维持在6-7‰左右。

    4.我国出生率整体一直在下降,在计划生育之前出生率就在下降。

    5.在2016年我国全面放开二胎之后的三年(2017-2019),出生率并没有出现好转,反而持续走低。

目前的育龄妇女基本都是85-90后,受计划生育(1980年)影响,育龄妇女人数比以前少了,生孩子的数量自然就比以前少了,这一情况会持续下去。

出生率降低,死亡率增加,人口增长就慢慢放缓,社科院预测在2029年左右我国人口达到峰值(14.42亿)之后慢慢减少!

题外话:猪哥在爬取数据之后,发现 国家数据网站 提供的数据也是有误的:1961年人口比1960年人口下降,而增长率却为整数!

怎么用Python分析人口数据

5.年龄结构

人口年龄结构是衡量 老龄化 与 人口红利 的指标。

老龄化:指老年人口相对增多,在总人口中所占比例不断上升的过程,国际上通常看法是,当一个国家或地区60岁以上老年人口占人口总数的10%,或65岁以上老年人口占人口总数的7%,即意味着这个国家或地区的人口处于老龄化社会。  ——百度百科

老龄化是每个国家每个社会都会经历的阶段,目前来讲发达国家的老龄化问题比发展中国家更严重,据快易数据提供的一份  世界各国老龄化排名来看,中国只排到了65名,第一名是日本,而前几名基本都是欧洲国家。

怎么用Python分析人口数据

人口红利:经济学术语,是指一个国家的劳动年龄人口占总人口比重较大,抚养率比较低,为经济发展创造了有利的人口条件,整个国家的经济呈高储蓄、高投资和高增长的局面。

人口红利简单来说就是 劳动力人口数 大于 非  劳动力人口,劳动人口比例较高,保证了经济增长中的劳动力需求,劳动力资源丰富和成本优势已经使中国成为世界工厂和世界经济增长的引擎。

怎么用Python分析人口数据

从上面三图分析我们可得:

  1. 1982年我国 0-14岁少儿占比33.59%,而2019年减至17.9%,比例减至近半。

  2. 2019年我国65岁以上人口占比为12.57%,已经进入老龄化社会。世界有92个国家进入老龄化,中国排在65。

  3. 2010年我国总抚养比达到最低为:34.2%,意味着每3个劳动力需要养一个老人或小孩。

  4. 人口红利在2010年达到顶峰,之后在慢慢降低。

2019年我国老年人口为1.76亿,中国的老龄化即将进入快速老龄化阶段,目前我国多个省的养老金告急,我国养老金体系改革迫在眉睫。

“怎么用Python分析人口数据”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


当前标题:怎么用Python分析人口数据
URL网址:http://myzitong.com/article/geehoo.html