使用python和spark对2020年美国新冠肺炎疫情数据分析

使用python和spark对2020年美国新冠肺炎疫情数据分析

需求描述

新型冠状病毒肺炎是近百年来人类遭遇到的影响范围最广的全球性大流行病,不仅是对全世界的一次财产和声明的重大威胁,更是关乎整个人类社会的一次严重打击。不仅造成群众恐慌,更有甚者可能会因为种种方式波及到全世界,我国更不可能在这场灾难中独善其身。例如通过加速美元贬值,持续刺激国内经济,但是带来的结果是全世界以美元为国际通用货币的国家不能根据国家发展需要去印刷货币,而是通过平衡“放水”而超发货币,带来的结果就是该国经济因此受到重创。
这是一场全人类与病毒的战争。面对前所未有,突如其来,来势汹汹的疫情天灾,美国境内疫情由于防范不到位,因为疫情形式逐渐变得严重,不仅由此影响到全球经济,更有可能把病毒扩散到全世界。
因此,通过Python以及spark等大数据技术,对2020年美国新冠肺炎疫情数据进行分析就显得十分有必要。

环境介绍

通过Python和Spark等大数据分析技术,推测疫情发展趋势,总结规律,做好了解并提前预知防范,预测高风险地区并分析其背后的发展机遇。

数据来源描述

本次使用的数据集来自数据网站Kaggle的美国新冠肺炎疫情数据集。

数据上传以及结果查看

命令行上传

数据处理过程描述

  1. 运用python第三方库pyecharts可视化工具

代码如下:

 2. from pyecharts import options as opts
 3. from pyecharts.charts import Bar
 4. from pyecharts.charts import Line
 5. from pyecharts.components import Table
 6. from pyecharts.charts import WordCloud
 7. from pyecharts.charts import Pie
 8. from pyecharts.charts import Funnel
 9. from pyecharts.charts import Scatt1er
 10. from pyecharts.charts import PictorialBar
 11. from pyecharts.options import ComponentTitleOpts
 12. from pyecharts.globals import SymbolType
 13. import json
 14.  
 15. #1.画出每日的累计确诊病例数和死亡数——>双柱状图
 16. def drawChart_1(index):
 17. root = "/home/hadoop/result/result" + str(index) +"/part-00000-ec40b67a-7af9-460c-8b99-73e00f7435dd-c000.json"
 18. date = []
 19. cases = []
 20. deaths = []
 21. with open(root, 'r') as f:
 22. while True:
 23. line = f.readline()
 24. if not line: # 到 EOF,返回空字符串,则终止循环
 25. break
 26. js = json.loads(line)
 27. date.append(str(js['date']))
 28. cases.append(int(js['cases']))
 29. deaths.append(int(js['deaths']))
 30. d = (
 31. Bar()
 32. .add_xaxis(date)
 33. .add_yaxis("累计确诊人数", cases, stack="stack1")
 34. .add_yaxis("累计死亡人数", deaths, stack="stack1")
 35. .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
 36. .set_global_opts(title_opts=opts.TitleOpts(title="美国每日累计确诊和死亡人数"))
 37. .render("/home/hadoop/result/result1/result1.html")
 38. )
 39. #2.画出每日的新增确诊病例数和死亡数——>折线图
 40. def drawChart_2(index):
 41. root = "/home/hadoop/result/result" + str(index) +"/part-00000-67b77e57-fbce-4a51-96b1-c1c738f38147-c000.json"
 42. date = []
 43. cases = []
 44. deaths = []
 45. with open(root, 'r') as f:
 46. while True:
 47. line = f.readline()
 48. if not line: # 到 EOF,返回空字符串,则终止循环
 49. break
 50. js = json.loads(line)
 51. date.append(str(js['date']))
 52. cases.append(int
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值