疫情数据分析与可视化

时间:2021-1-8 作者:admin

疫情数据分析与可视化

python实现数据分析与可视化

前言

本文通过运用所学可视化知识,对现有的疫情数据进行简单分析,同时介绍爬虫相关知识


一、什么是Python爬虫?

Python爬虫即使用 Python程序开发的网络爬虫(网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

二、Python爬虫相关知识

1.相关书籍资料推荐(建议谷歌打开)

https://python3webspider.cuiqingcai.com/

2.数据获取

数据集的获取是我们进行数据分析的第一步。现在获取数据的主要途径一般为:现成数据;自己写爬虫去爬取数据;使用现有的爬虫工具爬取所需内容,保存到数据库,或以文件的形式保存到本地。

博主用的是现有的数据进行数据分析。

3.知识点

request:
它是最基本的 HTTP 请求模块,可以用来模拟发送请求。就像在浏览器里输入网址然后回车一样,只需要给库方法传入 URL 以及额外的参数,就可以模拟实现这个过程了。

正则表达式:
贪婪匹配是尽可能匹配多的字符,非贪婪匹配就是尽可能匹配少的字符。在做匹配的时候,字符串中间尽量使用非贪婪匹配,也就是用 .? 来代替 ,以免出现匹配结果缺失的情况。但如果匹配的结果在字符串结尾,.*? 就有可能匹配不到任何内容了。

空值处理:

s.dropna(how='all')		#删除所有列值为空的行
s.dropna(axis=1)		#列有空值,删除
s.dropna(axis=1,how='all')		#列全为空值,删除,1为列 0为行
dropna() 		#删除有空值的所有行列
s.fillna(0,inplace=True)


三、数据分析与可视化

1.安装

博主在jupyter notebook上通过pyecharts实现数据分析与可视化。现仅以jupyter和pyecharts为例示范。

jupyter安装(在命令提示符下输入):

pip install jupyter

pyecharts安装(在命令提示符下输入):

pip install pyecharts

可能遇到的问题及解决方案(管理员身份运行命令提示符):

WARNING: You are using pip version 20.3.1; however, version 20.3.3 is available. You should consider
python -m pip install --upgrade pip -i https://pypi.douban.com/simple

2.CSV表格操作

表格读取:

data=pd.read_csv(r'C:\Users\XX\Desktop\2019_nCoV_data.csv',encoding='utf-8')

表格列删除:

data.drop(["Date","Province/State"],axis=1)  #删除Date,Province/State列

排列:

d1=data.sort_values(by=["Date","Confirmed"],ascending=False)[:10]#排列
d1

3.可视化

选出表格最后日期(2020.04.02),确诊人数最多的十个省制成饼图:

from pyecharts import options as opts
from pyecharts.charts import Bar,Line,Pie
pie=(Pie().add("",[list(i) for i in zip(d1['Province/State'].values.tolist(),d1['Confirmed'].values.tolist())]))
pie.render_notebook()

疫情数据分析与可视化
分析:据图得湖北确诊人数最多,较为直观的显示出病毒爆发地


选出表格最后日期(2020.04.02)以及确诊人数最多的十个省,对比治愈与死亡人数:

line=(Line()
      .add_xaxis(list(d1['Province/State'].values))
      .add_yaxis("治愈",d1['Recovered'].values.tolist())
      .add_yaxis("死亡",d1['Deaths'].values.tolist())
      .set_global_opts(
          title_opts=opts.TitleOpts(title="治愈与死亡"),
          legend_opts=opts.LegendOpts(pos_top="30%",pos_right="70%"),
      )
     )
line.render_notebook()

疫情数据分析与可视化

分析:据图得治愈人数接近于死亡人数,病毒未完全控制


选出表格前六个地区,对比治愈与死亡人数:

bar=(Bar()
      .add_xaxis(list(d1['Province/State'].values)[:6])
      .add_yaxis("治愈",d1['Recovered'].values.tolist()[:6])
      .add_yaxis("死亡",d1['Deaths'].values.tolist()[:6])
      .set_global_opts(
          title_opts=opts.TitleOpts(title="各地区治愈与死亡人数"),
          datazoom_opts=[opts.DataZoomOpts()],
      )
     )
bar.render_notebook()

疫情数据分析与可视化
分析:据图得治愈人数高于死亡人数,但是情形不容乐观。

总结

以上就是所有的内容,本文仅仅简单介绍了爬虫及数据分析可视化,欢迎大家批评指正。

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。