美文网首页
2020年世界各国总人口数据分析(python)

2020年世界各国总人口数据分析(python)

作者: cyyabt | 来源:发表于2020-04-28 21:04 被阅读0次

2020年世界各国总人口数据分析(python)

学习python尝试的第一个分析项目,分析思路还是有些初级,重点在对工具的练习上吧~

练习了数据分析维度的思考,熟悉了数据清洗方法、数据分析方法及可视化等内容。

一、项目背景

1、数据集为“2020年世界各国总人口”(来源:https://www.kesci.com/home/dataset/5e85a19195b029002ca7c437/document

源数据中的数据说明如下:

●Country (or dependency)-包含其他国家/地区的名称(235个国家/地区)

●Population (2020)-包含不同国家的人口

●Yearly Change-每年的人口变化

●Net Change-人口的净变化

●Density (P/Km²)-人口密度

●Land Area (Km²)-以平方公里为单位的土地面积

●Migrants (net)-表国家的移民

●Fert. Rate-各个国家的生育率或增长率

●Med. Age-该国家的平均年龄(中年或平均年龄)寿命

●Urban Pop %-城市人口比例

●World Share-各个国家对世界份额贡献的人口

2、提供分析思路如下:

二、分析过程

1、数据导入和清洗

观察到列标签名比较乱(包括一些小括号、空格、百分号),重命名调整下~

--》查看字段属性

根据info和describe方法返回的结果,意识到很多数据列没有返回结果,原因是字段类型不为数值型,且存在“脏数据”,需解决的脏数据问题如下:

①字段值中的“%”及“N.A.”符号需去掉;

②Migrants列存在值缺失;

④“YearlyChange” 、“Fert.Rate ”、“Med.Age”、“UrbanPop”、“WorldShare”字段属性均不为数值型,需要转换;

--》处理百分号:

查看含有“N.A.”的列,这里利用“df==“N.A.”返回一个值都为bool类型的dataframe,用describe方法可以观察出包含特定值字段的列标签;

通过观察得出,“Fert.Rate ”、“Med.Age”、“UrbanPop” 三列值中含有“N.A.”字符;

此案例中的的“N.A.”字符串均考虑用0替换;

--》处理“N.A.”字符:

检查结果显示清洗成功;

--》接下来处理“Migrants”列的缺失值(用0值填充):

--》完成数据类型转换:

至此数据清洗完成~

2、人口基本情况分析

按照三部分展开:

①人口总数分析

分析方向:考察国家人口总数前10名及倒数10名的国家排名情况,考察前十名国家人口和国土面积与各自全球总数的占比情况

--》绘图准备

--》准备人口总数前10及倒数10名国家的数据,并分别绘制条形图

生成的排名结果如上图;

可以看到前10名国家中:有5个(China、India、Indonesia、Bangladesh、Pakistan)来自亚洲,2个(United States、Mexico)来自北美,1个(Brazil)来自南美,一个(Russia)来自欧洲,一个(Nigeria)来自非洲

针对人口总数前10名的国家,分别统计人口总数和陆地总面积占全球总数的比例

绘图结果如下:

●由此可见,这10个国家的陆地总面积占总数的40%,却居住着世界60%的人口;

②人口变化率分析

分析方向:观察各国人口增长率分布情况,以及人口增长率前5名及倒数5名的国家分布情况

--》先观察下各国人口增长率的分布 

 ●绝大部分国家的人口增长率在0~3%之间,少数国家的人口增长率属于负值;

--》接下来提取人口增长率前5名和倒数5名的国家,绘制条形图:

 ●可以看到人口增长率最高的5个国家里,有4个属于非洲,另外1个在亚洲;人口增长率最低的5个国家,有3个在欧洲地区,另外2个则处于大洋洲和美洲地区;

③各国人口密度分析

分析方向:考察各国人口密度前10名的国家,并且按照人口密度划分等级,考察不同等级的分布情况;

--》绘制人口密度前10名的国家如下:

●上图可知,人口密度国家最高的国家为摩纳哥,其次为中国澳门、新加坡;

把人口密度划分为4个等级:

  level_1 人口密集区 >100人/平方千米

  level_2  人口中等区 25~100人/平方千米

  level_3  人口稀少区 1~25人/平方千米

  level_4  人口极稀区 <1人/平方千米

--》按照以上等级规则对人口密度数据进行分区,并新增人口密度等级标签,完成后绘制柱形图;

●由上图可知,绝大部分国家处于人口中等区和人口密集区;

3、移民情况分析

分析方向:考察净移民总数最多的5名国家

--》绘制净移民总数前5名的国家如下:

●前五个国家除了土耳其,都是高度发达的国家;由于美国强大的综合实力,毫无悬念地成为了人们心目中移民的第一选择。

4、老龄化情况分析

分析方向:

①老龄化程度通常可以用年龄中位数来衡量,考察老龄化程度最高的5个国家

②分析老龄化和城市人口比例的相关性

--》绘制老龄化程度最高的5个国家如下:

●日本、马提尼克、意大利、葡萄牙、希腊为老龄化程度最高的五个国家;

-》接下来考察国家的城市人口比例和年龄中位数的相关性,这里采用一元回归模型进行分析;

-》绘制出来的线性关系如下:

●可以看出国家城市人口比例与老龄化程度存在一定的正相关;

三、分析总结

由以上一些简单的分析,可总结出以下结论:

①相比较其他地区,亚非地区的人口数量更多,整体来看人口数量的国家分布非常不平衡,人口数量前10名的国家已经占了全球总人数的60%;

②80%以上国家人口的增长率在0~3%之间,大约10%的国家的人口增长率为负;亚非地区的人口增长率整体偏高;

③80%以上国家均属于人口中等区和人口密集区,即人口密度大于25人/平方千米;

④移民群众倾向于选择美国和其他一些欧洲的发达国家作为移民对象;

⑤国家城市人口比例与老龄化程度存在一定的正相关;

相关文章

网友评论

      本文标题:2020年世界各国总人口数据分析(python)

      本文链接:https://www.haomeiwen.com/subject/jgtiwhtx.html