【大数据分析】基于美国新冠肺炎疫情的数据分析【期末项目论文】

本文通过对美国2021年COVID-19疫情数据的分析,利用Python、Spark和PyEcharts进行数据处理和可视化。主要进行了时间趋势和地理分布两方面的分析,包括各州确诊、死亡及治愈人数,并通过词云图、柱状图和漏斗图展示结果。同时,文章介绍了在处理数据过程中遇到的问题及解决方案,如数据库连接和Spark端口冲突。
摘要由CSDN通过智能技术生成

【大数据分析】基于美国新冠肺炎疫情的数据分析

1、 需求分析

对美国2021年新冠新冠肺炎确诊病例进行数据分析,以Python为编程语言,使用Spark对数据进行分析,描述分析结果,并且用python对分析结果进行可视化。主要有以下两个方面的分析:时间趋势分析:分析每日/每周/每月的新增确诊病例数、治愈率和死亡率的变化趋势,以及与时间相关的其他指标。地理分布分析:分析不同州/城市的确诊病例数、死亡数、治愈数等,探究地域差异与人口密度等因素的关系。为疫情防控提供经验和参考。

2、 总体设计

2.1总体分析

搭建ubuntu环境,使用python编程语言对数据进行处理;连接sql数据库,将数据保存至数据库,以HDFS为平台,上传以及下载数据结果文件;安装pyecharts库,在spark中运行python代码。
本次期末大作业使用的数据集来自数据网站Kaggle的美国新冠肺炎疫情数据集,该数据集以数据表us-counties.csv组织,其中包含了美国发现首例新冠肺炎确诊病例至2020-05-19的相关数据。数据包含以下字段:
字段名称 字段含义 例子
date 日期 2020/1/21;2020/1/22;etc
county 区县(州的下一级单位) Snohomish;
state 州 Washington
cases 截止该日期该区县的累计确诊人数 1,2,3…
deaths 截止该日期该区县的累计确诊人数 1,2,3…

图2.1 数据集

2.2实现流程图

图2-1 流程图

2.3遇到的问题以及解决方法

将数据存储到数据库时没有连接数据库的函数,导致在mysql中查看表格时没有数据,在数据存储前先执行连接数据库的语句错误得到解决;在启动spark时出现端口满的情况,导致无法运行py文件,通过查询百度得知,查看端口号后删除无用的端口后即可顺利运行。

3、详细设计

3.1编写的类清单

def toDate(inputStr)设置日期格式
pd.read_csv读取csv文件
spark.sparkContext.textFile()Spark读取数据
df.withColumnRenamed列重命名
df1.createOrReplaceTempView()注册为临时表
df.write.jdbc()连接数据库
df7 = spark.sql()Sql语言读取并分析数据

3.2具体设计

(1)原始数据集是以.csv文件组织的,为了方便spark读取生成RDD或者DataFrame,首先将csv转换为.txt格式文件。转换操作使用python实现。

图3-2集格式转化
在这里插入图片描述
在这里插入图片描述

(2) 将文件上传至HDFS文件系统中,路径为:“/user/hadoop/us-counties.txt”
图3-3 上传文件
图3-4 查看HDFS目录

(3) 采用编程方式读取us-counties.txt生成DataFrame。
图3-5 主程序代码运行
图3-6 主程序代码运行

(4) 使用Spark对数据进行分析。主要统计以下指标,所有结果保存为.json文件,创建mysql数据库。
在这里插入图片描述

图3-7 创建数据库
在这里插入图片描述
在这里插入图片描述

图3-8 创建表格并查看

1统计美国各州的累计确诊人数和死亡人数和病死率,并将 结果保存到Mysql数据库中。

在这里插入图片描述
在这里插入图片描述

图3-9 读取数据并写入mysql数据库
在这里插入图片描述

图3-10 美国各州累计确诊、死亡人数和病死率绘制表格代码

2统计美国确诊人数最多的十个州。

在这里插入图片描述

图3-11 统计美国确诊人数最多的十个州
在这里插入图片描述

图3-12 美国确诊最多的10个州绘制词云图代码

3统计美国死亡人数最多的十个州。

在这里插入图片描述

图3-13 统计美国死亡人数最多的十个州
在这里插入图片描述

图3-14美国死亡最多的10个州绘制柱状图

4统计美国确诊人数最少的十个州。

在这里插入图片描述

图3-15 统计美国确诊人数最少的十个州
在这里插入图片描述

图3-16 美国确诊最少的10个州绘制漏斗图

(5)将Spark计算结果.json文件下载到本地文件夹。建议可对结果进行数据可视化。
在这里插入图片描述

图3-17 将Spark计算结果.json文件下载到本地文件夹

4、程序运行结果测试与分析

通过./bin/hdfs dfs -ls /user/hadoop查看HDFS结果目录
在这里插入图片描述

图4-1 查看HDFS目录
通过$./bin/hdfs dfs -get /user/hadoop/success1.json/*.json /home/hadoop/result/result1将Spark计算结果.json文件下载到本地文件夹
在这里插入图片描述

图4-2 将Spark计算结果.json文件下载到本地文件夹

4.1 美国各州累计确诊、死亡人数和病死率—>表格

在这里插入图片描述

图4-3 查看mysql数据库
在这里插入图片描述

图4-4 表格结果展示
分析:通过表格清晰明了地展示了美国各州累计确诊、死亡人数和病死率的总体情况,对美国各州疫情有了基本的了解,为后续数据分析做好铺垫。

4.2 美国确诊最多的10个州——>词云图

在这里插入图片描述

图4-5 词云图展示
分析:通过词云图可以得到美国确诊人数第一的州是New York,词云图通过大小和颜色,在一定程度上突出展示了数据集大的特征,有利于数据分析。

4.3 美国死亡最多的10个州——>柱状图

在这里插入图片描述

图4-6 柱状图展示
分析:通过柱状图可以得到美国各州死亡人数的一个递增变化,纽约州的死亡人数最多,达到了接近100万人,其余州的死亡人数相对较少。柱状图能够使我们更好地了解疫情对不同州的影响程度,有助于政策制定者和公众做出相应的决策和行动。在此基础上,可以针对不同州的疫情情况采取有针对性的措施,以有效遏制病毒的传播并保障公众的健康安全。

4.4 美国确诊最少的10个州—漏斗图

在这里插入图片描述

图4-7 漏斗图展示
分析:通过分析该漏斗图可以得到,美国确诊最少的10个州人数的分布情况,排前三的分别是Maine,West Virginia,Guam,与其他图表相比,漏斗图展示的数据更具有视觉冲击力,更让人眼前一亮。

5、结论与心得

本次期末大作业对美国2021年新冠肺炎确诊病例进行了数据分析,以python为编程语言,ubuntu虚拟机为载体,使用pyechart库对数据结果进行数据可视化分析。在本次大作业完成的过程中,在老师的指导下,我根据一学期以来的课程学习基础,熟练掌握了ubuntu虚拟机的使用方法,并成功下载并配置了hadoop,spark,sql数据库以及HDFS等程序,与此同时我还掌握并熟练运用它们的shell命令。
在本次期末大作业设计中,我不仅对美国2021年新冠肺炎的基本情况有了一定的了解,不难发现疫情对美国不同州的影响程度存在很大差异,一些州的死亡率和感染率明显高于其他州。这与各州的人口密度、经济水平、医疗资源等因素有关。还学会了通过pyecharts库对数据结果json文件进行画图,我学习了许多数据可视化的函数,例如,表格的绘制,词云图属性的设置,多列柱状图的绘制等等。此外,我对ubuntu虚拟机的使用更加的游刃有余,我掌握了HDFS上传和下载文件的方法,以及读取数据集生成DataFrame的方法。本次期末大作业的完成丰富了我的python语言编程以及ubuntu虚拟机使用的知识储备。
在本次大作业完成的过程中,我也遇到了一些小问题,比如,将数据存储到数据库时没有连接数据库的函数,导致在mysql中查看表格时没有数据,在数据存储前先执行连接数据库的语句错误得到解决;在启动spark时出现端口满的情况,导致无法运行py文件,通过查询百度得知,查看端口号后删除无用的端口后即可顺利运行。
本次期末大作业的顺利完成离不开老师一学期以来的耐心指导,通过本次期末大作业,我深知自己还有许多需要改进的地方,对知识的学习不够主动严谨,总是在出现问题后才去补救,没有提前学习的好习惯;对数据可视化分析想法过于单一,将知识运用到实际的能力不强。学无止境,在未来的学习中,我将继续完善自身的不足,不断改进自身存在的问题,继续保持良好的学习和探究热情,不断充实自我,学习更多的大数据分析技术。

参考文献

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值