《《数据分析(Python)》课程报告模版.docx》由会员分享,可在线阅读,更多相关《《数据分析(Python)》课程报告模版.docx(18页珍藏版)》请在第壹文秘上搜索。
1、(华东)CHINAUNIVERSITYOFPETRO1.EUM20232024学年第2学期数据分析(PythOn)课程报告专业班级姓名学号成绩评阅教师张学辉2024年4月26日基于印度人口数据挖掘报告一、数据描述1数据来源:数据是关于2020年世界各国家人口的数据,是关于1950年至2021年印度人口数量和人口增长率的数据。2数据获取:1950年至2021年印度人口数量和人口增长率等并将获这些信息暂存于EXCeI文件中。3数据种类:年份Year印度人口数量Population人口增长率GrOWthRate:(年末人口数-年初人口数)/年平均人口X1000%。人口增长率是反映人口发展速度和制定人
2、口计划的重要指标,也是计划生育统计中的一个重要指标,它表明人口自然增长的程度和趋势。人口的力量正在把世界分成两部分:人口增长缓慢的地区,生活条件正在得到改善:人口增长迅速的地区,生活条件正在恶化。人口的迅速增长抵销了农业和经济方面的部分差距。4使用工具:PythOn是一种广泛使用的解释型、高级编程、通用型编程语言,由吉多范罗苏姆创造,第一版发布于1991年。可以视之为一种改良(加入一些其他编程语言的优点,如面向对象)的1.ISP。Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比于C+或Java,Python让开发者能够用更少的代
3、码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。5数据主要内容通过这两个方面的数据分析,我们可以分析出近几十年来印度人口的数量变化趋势,来进一步分析印度经济发展和人口的关系。此份数据主要是针对印度从1950年到2021年每年的人口数量以及人口增长率及相应变化,通过人口数量以及人口增长率可以分析印度人口的具体情况,明确印度人口数量的多少;通过人口数量和人口增长率可以分析影响各印度人口变化的主要因素,并且通过各因素的情况进一步研究深入推理出印度相应政策以及经济状况的影响。二、数据预处理数据中具体的人口数量和增长率,并没有通过己有数据对未来的人口数量进行预测,不便于解决如印度人
4、口预计在哪一年达到20亿人口等问题。我们可以通过线性回归分析,线性回归是利用数理统计中同归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。其表达形式为y=wx+e,e为误差服从均值为0的正态分布。从而得出从2021年到2069年的预测人口数量,便于绘图进行分析印度过去和未来的人口变化趋势。1.首先导入代码所需库importpandasasPdimportmatplotlib.pyplotaspitimportseabornassnsimportwarningswarnings.filterwarnings(,ignore,)2.数据读入data=d.read
5、_csv(IndiaPopulation_2021.csv,)print(data.head()效果展示:D:pyynewScriptspython.exeD:pythonProject5main.pyYearPrediction020211.375952e+09120221.391362e+9220231,06771e+0932024I.22181e+942025I.3759e+9进程已结束,退出代码为02.数据处理将数据按照年份排序data=data.sort_values(,Year,).set_index(,Year,)print(data)效果展示:PopulationGrowthR
6、ateYear195B3763252000.0019513823769481.6119523887990731.6819533955443691.7319544025785961.78201713386767851.072B18135264228。21913664177541.022021380003850.9920211393090380.9772rowsx2columns进程已结束,退出代码为0三、数据分析1缩小区间由于数据复杂,我们需要进行区间的缩小增大数据的可视化。year_data=data.iloc0:Ien(data):10print(year_data)效果展示:D:pyyne
7、wScriptspython.exeD:/pythonProject5main.pyPopulationGrowthRateYear1950376325200.19604585476791.98197G5551897922.2319806989528442.3419908732777982.102010565755491.7821123A2811701.3622O138000385.99进程已结束,退出代码为02筛选出增长率大于2的年份gr_year=datadata(,GrowthRate,2)Print(gr_year)效果展示:D:pyynewScriptspython.eeD:pyth
8、onProject5main.pyPopulationGrowthRateYear19614596421652.0219624690771902.0519634788256082.0819644888481352.0919654991233242.1019665096315002.1119675204005762.1119685315138242.1419695430843362.1819705551897922.2319715678680182.2819725810872562.331973594771342.351974688262.361975623128972.351976637630
9、0872.3319776524087762.3219786674998062.3119796829953542.32198069895284423419817153849932.3519827322395042.3619837494289582.35198476683341。2.3219857843682.2919868019752442.2519878196821022.2119888374689302.1719898553346782.1319908732777982.1019918912732092.0619929093070162.02进程已结束,退出代码为由此我们得出,大量年份人口的
10、增长率大于2,是印度人口增长迅速的直接原因之一。3人口预测fromsklearn.linear_modelimport1.inearRegressionIr=1.inearRegression()X=data,Year)Y=data,Populationmodel=Ir.fit(XzY)Pred_X=pd.DataFrame(list(range(2021,2070),columns=,Year,)Pred_X,Prediction,=model.predict(Pred_X(Year,)效果展不:YearPrediction20211.375952e+09120221.391362e+092
11、20231.06771e+0932024I.422181e+9420251.43759e+952026I.52999e+962027l46849e+6972028I483818e+982029l.99228e+09920301.514637e91020311.53O07e+09112032I.545456e+91220331.560865e+091320341.576275e+091420351.591684e+91520361.6O79e+091620371.62253e+091720381.637913e+091820391.653322e+091920401.668731e+092020
12、41l684141e+092120421.69955e+092220431.7196Oe+092320441.730369e+092420451.75779e+092520461.761188e+092620471.776597e+092720481.7920O7e+92820491.87416e+092920501.822826e+093020511.838235e+093120521.85365e+093220531.8695e+093320541.884463e+09342551.899873e+093520561.915282e+093620571.930692e+093720581.
13、96101e+09382591.961511e+93920601.976920e+O94。20611.99233e+09412622.7739e+094220632.2318e+94320642.038558e+094420652.053967e+O94520662.069377e+O94620672O84786e+094720682.100196e+094820692.115605e+O9进程已结束,退出代码为O由线性回归分析我们得到印度人口将在2062年达到20亿人。四、数据可视化展示1人口数量柱状图绘制pit.figure(figsize=(15,5)pit.title(,BarplotforPopulationbyYear,fontsize=15)sns.barplot(data.index,data.Population)pit.show()效果展示:le9SrPI