- 点击上方“中国统计网”订阅我吧!-

文末领取【腾讯疫情分析完整代码+数据包】

本篇文章将分享腾讯疫情实时数据抓取,获取全国各地和贵州省各地区的实时数据,并将数据存储至本地,最后调用Maplotlib和Seaborn绘制中国各地区、贵州省各城市、新增人数的图形。希望这篇数据可视化分析文章对您有所帮助!文章完整代码及数据包请在文末添加客服领取。

我们的目标网站是腾讯新闻网实时数据,其原理主要是通过Requests获取Json请求,从而得到各省、各市的疫情数据。

爬虫目标网站:

1. 分析网站

通过浏览器“审查元素”查看源代码及“网络”反馈的消息,如下图所示:

对应的响应信息如下所示:

2. 发送请求并获取Json数据

通过分析url地址、请求方法、参数及响应格式,可以获取Json数据,注意url需要增加一个时间戳。下面代码展示了获取数据的键值及34个省份。

输出结果如下图所示,其顺序按照确诊人数排序。

3. 获取湖北省疫情数据

接着通过num[0][‘children’]获取湖北省的疫情数据,代码如下:

同样的方法可以获取各省份的数据,比如 num[1][‘children’] 表示广东省疫情数据,我们设置循环就能获取所有数据。其数据包括当日数据(today)和累计数据(total),confirm表示确诊、suspect表示疑似、dead表示死亡、heal表示治愈。

我们将所抓取的数据和真实的数据进行对比,武汉截止2月13日下午4点,新增确诊人数13436、累计确诊32994,发现是完全一致的。

4. 获取各省确诊人数

注意,初始化每个省份人数为0,然后循环累加该省所有城市的确诊人数,调用city_data[‘total’][‘confirm’]获取各城市的确诊数据。

输出结果如下图所示:

接下来我们分享可视化画图。Matplotlib绘制柱状图

首先,我们调用Matplotlib绘制全国各地区的确诊人数柱状图,帮助大家回忆其基本用法。total_data为字典变量键值对,比如{‘湖北’: 48206, ‘广东’: 1241,…}

代码过长仅展示部分,完整代码请添加客服领取

输出结果如下图所示:

那么,如果我想获取累计确诊人数、新增确诊人数、死亡人数和治愈人数,并进行可视化展示,怎么办呢?只需要简单替换参数即可。city_data[‘total’][‘confirm’] 确诊人数

city_data[‘total’][‘suspect’] 疑似人数

city_data[‘total’][‘dead’] 死亡人数

city_data[‘total’][‘heal’] 治愈人数

city_data[‘today’][‘confirm’] 新增确诊人数

输出如下图所示,但是Matplotlib画图不太美观,接下来分享Seaborn可视化。

数据存储及Seaborn绘制柱状图

Seaborn是在Matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn能做出很具有吸引力的图,而使用matplotlib就能制作具有更多特色的图。

安装:pip install seaborn

1. 文件写入

存储成功之后,如下图所示。

对应腾讯的数据,如下图所示:

2. Seaborn绘制柱状图

显示结果如下图所示:

Seaborn绘制对比柱状图

如果需要显示多个数据对比,则需要使用下面的代码。由于Seaborn能够进行按类别分组绘图,我们需要将抓取的数据存储为如下图所示的文件,才能将数据绘制在同一张图中。

此时绘制如下图所示:

但是当数据很小时,其柱状图无法很好地显示,建议采用以下方法处理:归一化处理

湖北省外和湖北省内对比

替换成新增确诊病例的对比图如下所示。

Seaborn绘制趋势图及对比图

1. 湖北省内外对比图

在做数据分析过程中,我们通常需要对数据进行预处理或加工,下面将数据划分为湖北省内和湖北省外,再绘制对应的对比图。

输出结果如下图所示:

2. 疫情趋势图

输出结果如下图所示,疑似人数开始下降。武汉加油,中国必胜!

Seaborn绘制其他图形及分析

作者这里仅补充绘图语法,更多分析结果(死亡数-治愈数)请读者进行。同时,读者可以增加数据量,全国所有城市的数据,可能绘制的图形更为丰满。

1. KDE图sns.jointplot(x=“dead”, y=“heal”,data=data, kind=“kde”, space=0, color="#6AB27B")

显示如下图所示:

2. 六角形sns.jointplot(x=“dead”, y=“heal”,data=data, color=“b”, kind=‘hex’)

3. 散点图sns.jointplot(x=“dead”, y=“heal”,data=data, color=“b”, s=50, kind=‘scatter’, space =0.1, size =8, ratio =5)

4. 回归图sns.jointplot(x=“dead”, y=“heal”,data=data, color=“b”, kind=‘reg’)

5. 散点图+KDE 图g= (sns.jointplot(x=“dead”, y=“heal”, data=data, color=“k”).plot_joint(sns.kdeplot, zorder=0, n_levels=6))

贵州省可视化分析

接着我们抓取某一个省的数据,比如贵州省。

输出结果如下图所示:

添加解析数据和存储文件,完整代码如下:

完整输出内容如下所示:

最后采用Seaborn绘制图形如下所示:

贵州省2月13日疫情显示结果如下所示:

参考文章:就业班学员专享:趣味月考测试、数据库模拟练习1v1职场生涯规划班主任监督辅导专业讲师团队答疑加入我们你将拥有:1. 熟练掌握SQL/Python/Excel/PPT等数据分析工具的能力2.真实数据库的实战项目经历3. 数据职场讲师1v1生涯规划5月班正在火热报名中!快来扫码咨询吧!

新冠疫情数据可视化python_【一点资讯】新冠疫情数据分析 | Python可视化工具看全国各地的新增趋势 www.yidianzixun.com...相关推荐

  1. (python爬虫)新浪新闻数据爬取与清洗+新浪新闻数据管理系统+MySQL

    新浪新闻数据爬取与清洗+新浪新闻数据管理系统 设计要求 新浪新闻数据爬取与清洗 基本要求:完成新浪新闻排行中文章的数据爬取,包括标题.媒体.时间.内容. 进阶要求:对最近一周出现次数最多的关键字排名并 ...

  2. pandas生成新的累加数据列、pandas生成新的累加数据列(数据列中包含NaN的情况)、pandas计算整个dataframe的所有数据列的累加

    pandas生成新的累加数据列.pandas生成新的累加数据列(数据列中包含NaN的情况).pandas计算整个dataframe的所有数据列的累加 目录

  3. python语言的重要性_【一点资讯】这个可能打败Python的编程语言,正在征服科学界 www.yidianzixun.com...

    Julia 语言是近年来科学世界中出现的一匹黑马.物理学家 Lee Phillips 发表了一篇高质量的科普,介绍了这种科学计算语言的真正魅力所在. 图片来源:Unsplash 撰文 Lee Phil ...

  4. python可视化案例书籍推荐_这5款Python可视化神器,总有一款适合你!

    我们都知道视觉是人们很重要的一种感官,而Python中可视化,在数据相关的研发中也起到"一木支危楼"的作用.如果从直接查看离线存储在各类数据库中杂乱无章的数据,会让人瞬间感到崩溃且 ...

  5. python汽车招聘_【一点资讯】C/C++和Python在无人驾驶汽车招聘信息中位居热门技能冠亚! www.yidianzixun.com...

    图标来源:Shutterstock 现在是成为具无人驾驶汽车背景或对研究无人驾驶汽车感兴趣的工程师的好时机.招聘求职网站Indeed.com的分析报告显示,在美国,想要进入该领域或在该领域内换工作的人 ...

  6. 分页第一页用0还是1_【一点资讯】程序员节:码动未来,用0和1改变世界 www.yidianzixun.com...

    10月24日,是每年一度的程序员节,是属于码农们的节日. 为什么是1024? 计算机存储中,1G=1024M,1M=1024Kb,1kb=1024bit,再加上1024为2的十次方,二进制计数基本计量 ...

  7. 人工智能芯片龙头之一gti概念股_【一点资讯】潜力龙头股002185,人工智能+华为概念+芯片概念,低吸关注 www.yidianzixun.com...

    今天两市低开后维持宽幅震荡,盘中光伏.5g以及采掘服务轮番表演,稀土.半导体等与科技相关的板块均出现冲高回落,午后军工一度走强但也扛不住大盘的调整.盘面上看,指数先扬后抑的走势与周一的预期完全一致,成 ...

  8. python 成员函数 泛型函数_【一点资讯】白学这么多年 Python?连泛型函数都不会写? www.yidianzixun.com...

    泛型,如果你尝过java,应该对他不陌生吧.但你可能不知道在 Python 中(3.4+ ),也可以实现 简单的泛型函数.在Python中只能实现基于单个(第一个)参数的数据类型来选择具体的实现方式, ...

  9. 制作一个图书馆新图书的数据入库页面。把新图书的各项参数准备提交给后台

    html制作的静态页面,基础入门小作业. 界面中包括项: ISBN, 图书名,作者.类别(自然.人文.历史.地理).是否贷款(是,否), 出版社(常用几个出版式,列表),出版日期,版次(只能介于1-5 ...

最新文章

  1. 士兵杀敌(二)(线段树+树状数组)
  2. OpenCV形态学变换函数morphologyEx()黑帽运算的使用
  3. 工业级以太网交换机的使用情况分析
  4. arcengine,深入理解游标Cursors,实现数据的快速查找,插入,删除,更新
  5. 前端学习(1863)vue之电商管理系统电商系统之绘制登录表单区域
  6. 查看centos中的用户和用户组
  7. 天融信防火墙重置配置_天融信防火墙配置手册
  8. 她的癌细胞救了上亿条命,却很少有人知道她的名字
  9. select设置text的值选中(兼容ios和Android)基于jquery
  10. 数据结构c语言版严蔚敏第二版课后答案
  11. Hacking Diablo II之外挂实战教程:去除D2JSP试用版显示的Trial Version信息
  12. 非负矩阵分解小白入门
  13. 人工智能的数学基础------- 矩阵迹与相似矩阵的本质
  14. vue 移动端无限瀑布流 插件使用
  15. 导入文本文件乱码问题
  16. Liunx free命令
  17. 网站设计流程分为哪几个步骤
  18. gitbook 入门教程之还在搞公众号互推涨粉?gitbook 集成导流工具,轻轻松松躺增粉丝!...
  19. java实现报数游戏
  20. 170929 逆向-Reversing.kr(Ransomware)

热门文章

  1. 前端开发 V8引擎是什么?
  2. 20最佳代码审查工具-专门为开发人员准备
  3. mysql 怎么改属性_mysql怎么修改字段的属性
  4. Windows 安装Bazel (安装过程中报远程服务器错,先记下来方法)
  5. 高立数值最优化方法_最优化理论之无约束优化基本结构及其python应用
  6. Javascript第五章location对象第五课
  7. esp8266 扫描wifi_wifi气象站
  8. python用三种方式定义字符串、并依次输出_Python 字符串格式化输出的3种方式
  9. css鼠标拖拉卡顿_JavaScript实现元素拖动性能优化
  10. redis hash field过期时间_Redis系列-Redis数据类型