|
|
51CTO旗下网站
|
|
移动端

数据分析实战:使用Python分析新型冠状病毒的发展趋势

这次疫情的情况大家也都了解了,各地也都延迟开学或者延迟开工,对于我们来说,正好是一次深入学习的机会。今天,我就带领大家分析一下新型冠状病毒的爆发趋势,也借此作为一次数据分析课程的实战案例,从 数据获取、数据清洗、数据可视化再到产出数据结论,完整的走一遍数据分析流程。

作者:趣谈数据分析来源:今日头条|2020-02-25 16:54

这次疫情的情况大家也都了解了,各地也都延迟开学或者延迟开工,对于我们来说,正好是一次深入学习的机会。今天,我就带领大家分析一下新型冠状病毒的爆发趋势,也借此作为一次数据分析课程的实战案例,从 数据获取、数据清洗、数据可视化再到产出数据结论,完整的走一遍数据分析流程。

这次使用的数据是霍普金斯大学收集的世界范围内的病毒爆发数据。

导入所需的包和数据

数据分析实战:使用python分析新型冠状病毒的发展趋势
数据分析实战:使用python分析新型冠状病毒的发展趋势

数据清洗

第一:删除不需要的数据列

从数据中我们可以看出,第一列相当于编号,第五列是数据更新的最后时间,这两列对我们的分析来说没有实际意义,所以先把这两列进行删除操作:

数据分析实战:使用python分析新型冠状病毒的发展趋势

第二:对数据集中的空值进行处理

先来看一下数据的整体情况:

数据分析实战:使用python分析新型冠状病毒的发展趋势

我们发现,只有省份这一个字段是有空值的,那我们再来看一下具体的空值有哪些:

数据分析实战:使用python分析新型冠状病毒的发展趋势

经过筛选发现,空缺的都是一些国外的省份,这是由于数据收集过程中产生的,并且我们无从推断到底是什么,所以,这里的空值我们选择不处理。

第三:删除重复数据

数据分析实战:使用python分析新型冠状病毒的发展趋势

通过使用dumplicate方法,我们发现这个人工整理的数据集不存在重复情况,所以也不需要进行去重操作。

数据洞察

我们首先来看一下,截止到数据完成时间,世界上总共有多少国家已经「沦陷」了:

数据分析实战:使用python分析新型冠状病毒的发展趋势

通过统计发现,总共只有32个国家已经有了确诊患者,但是,细心的同学可能会发现,国家列表当中有「China」和「Mainland China」,第二个表示的是「中国大陆」,其实也是中国,所以我们应该把「Mainland China」也改为「China」统一口径,在实际工作过程中,跨部门的数据经常会出现这种情况,所以,处理这种数据噪音也是数据分析师的日常工作之一。

接着,我们看一下时间字段,时间字段的处理也是数据分析过程中不可或缺的一个步骤:

数据分析实战:使用python分析新型冠状病毒的发展趋势

这里的时间,都是精确到「小时」的,为了便于统计,我们把它改成精确到「日」:

数据分析实战:使用python分析新型冠状病毒的发展趋势

接下来,我们以国家作为维度,来统计一下每个国家的确诊人数:

数据分析实战:使用python分析新型冠状病毒的发展趋势

排名第一的肯定是中国,排名靠前的基本都是中国临近的亚洲国家,欧美国家当中,排名第一的是德国,如果是真正工作过程中,德国这一点就是「异常点」,肯定要深入挖掘,在这里我们只是做一个示例。

之后我们以时间作为维度,分析一下每天的感染人群数量的变化:

数据分析实战:使用python分析新型冠状病毒的发展趋势

从这里可以看到,14天之内感染人数就从555人增长到24503个人,增长速度还是很快的,那我们接着也要具体分析一下,每天新增的确诊人数有多少人,这里我们需要用到diff( )方法:

数据分析实战:使用python分析新型冠状病毒的发展趋势

数据可视化

数据分析实战:使用python分析新型冠状病毒的发展趋势

首先来看每天的确诊人数,基本上是指数增长的一个走势,符合传染病的爆发规律,我们要做的就是根据之后的数据,洞察拐点的到来。

数据分析实战:使用python分析新型冠状病毒的发展趋势

接着,我们看一下,每天的「死亡人数」和「治愈人数」的走势,从这个数据上来看,治愈人数的增长趋势已经超过的死亡人数,所以,从「最好」和「最坏」两个方面来说的话,总体趋势还是向好发展,大家也不必过于担心。

总结

以上分析只是抛砖引玉,使用一部分数据来引导大家参与到数据分析的实战流程当中,欢迎大家在留言区一起讨论学习。

【编辑推荐】

  1. 如何在Python 的线程中运行协程
  2. 5个原因告诉你,为什么说Julia比Python要好?
  3. 如何在Python中加入多个数据帧?
  4. 用Python发免费短信的正确姿势
  5. Python 从业十年是种什么体验?老程序员的一篇万字经验分享
【责任编辑:未丽燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

消息队列Kafka运维实践攻略

消息队列Kafka运维实践攻略

入门级消息队列
共3章 | 独行侠梦

45人订阅学习

编程零基础,Scratch 开发小游戏

编程零基础,Scratch 开发小游戏

游戏化编程
共5章 | googlingman

22人订阅学习

Docker一键部署,3小时学以致用

Docker一键部署,3小时学以致用

Docker学以致用
共3章 | jextop

103人订阅学习

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微