2020年世界各国总⼈⼝数据分析(python)2020年世界各国总⼈⼝数据分析(python)
学习python尝试的第⼀个分析项⽬,分析思路还是有些初级,重点在对⼯具的练习上吧~
练习了数据分析维度的思考,熟悉了数据清洗⽅法、数据分析⽅法及可视化等内容。
⼀、项⽬背景
源数据中的数据说明如下:zhuanqian
●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替换;
fyp是什么意思啊--》处理“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名的国家,绘制条形图:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论