大家好,之前我们已经将疫情可视化的各种操作基本都讲了一遍,从爬取数据到数据分析、建模、可视化甚至有关如何开发疫情实时追踪网站我们都讲了一遍,因此很久没有更新过疫情相关的文章。但最近几乎每天都有小伙伴在后台问我如何获取最新的疫情数据,尤其是历史数据很难找到。在三月份我曾经在疫情数据哪里找,看这篇就够了这篇文章中详细介绍了5种获取疫情数据的方法,不过部分API已经失效,了解到很多读者是为了科研、论文需要使用相关数据,所以今天我们再来聊聊现在如何取得疫情相关数据。

全球疫情历史数据


难倒大家的大多数是在全球疫情历史数据,也就是分国家时间序列数据,因为之前介绍的API接口停止返回该数据

这就导致很多使用了该接口的其他接口/第三方库直接失效(比如我强烈推荐的Akshare),虽然我们依旧能够从该项目中下载json数据自己处理但是却比较麻烦,因此我们使用其他项目提供的数据,比如这个名为covid-19[1] 的项目也提供了全球历史数据

我们进去看一下

可以看到,该项目提供了自2020年1月22日至今的全球分国家疫情历史数据,从文档中可以知道每天更新一次,所以我们可以使用Python基于该项目每天获取最新历史数据,因为是个CSV文件,爬虫都不用,pandas可以直接读取

#全球疫情历史数据
url = 'https://github.com/datasets/covid-19/blob/master/data/countries-aggregated.csv'
data = pd.read_html(url, header = 0,index_col=0)
data1 = data[0]
data1= data1['Date,Country,Confirmed,Recovered,Deaths'].str.split(',',expand=True)
data1.columns = ['日期','国家','确诊','治愈','死亡','none']
del data1['none']
data1 = data1.set_index('日期')

上面的代码使用pd.read_html直接读取,再稍作处理即可得到最新的全球疫情历史数据,不过国家名称为英文需要翻译一下

上面的历史数据包含了确诊、治愈、死亡等数据,如果你只需要确诊数据那么可以参考COVID-19[2]

该项目将确诊数据单独整理,并且这种格式的数据更方便我们去可视化。我们依旧用Pandas读取一下试试

可以看到该数据的开始时间也是1月22日,并且对重点国家提供了分省市的历史数据,我个人比较喜欢这种格式,一行就是一个国家/省份的时间序列序列数据,不需要二次处理。


中国疫情历史数据


中国疫情历史数据相对来说比较好搞定,使用AkShare接口[3]一行代码就能拿下,记提前pip install akshare

#中国疫情历史数据
import akshare as ak
CN = ak.covid_19_163(indicator="中国历史累计数据")


中国历史新增数据


推荐使用Akshare,一行命令搞定

#中国新增数据
CN_NEW = ak.covid_19_163(indicator="中国历史时点数据")


国外疫情最新数据(分国家)


推荐使用Akshare,一行命令搞定

#全球疫情最新数据
WORLD = ak.covid_19_baidu(indicator="国外分国详情")
WORLD = WORLD[['area','confirmed','died','crued']]


国外疫情最新数据(分城市)


推荐使用Akshare,一行命令搞定

#国外分城市数据
CITY = ak.covid_19_baidu(indicator="国外分城市详情")


美国历史疫情数据


在我们刚开始介绍全球疫情历史数据中的两个项目均提供了美国的历史数据,但是处理起来稍微有点麻烦(感兴趣的话可以试一试),所以我们换一种方式,一番搜索后发现有些网站[4]也提供相关数据

因为是Table格式,所以直接使用Pandas一行代码就可以读取

data = pd.read_html('https://covidtracking.com/data/us-daily/')[0]

可以看到,除了确诊数据还有接受检测的人数等数据,甚至还提供API,感兴趣的读者可以自己查阅使用


以上就是针对近期后台留言需求较多的疫情相关数据的Python获取方式整理,希望能够帮到大家。如果你需要的数据我没有提及的话可以在GitHub上搜一搜,比如中国分省市数据在第一个项目中就有提供,或者在后台给我留言。但是在搜索的时候一定要注意该项目的数据来源,比如我上面提到的数据均采集于各地CDC并且来源可查。如果有需要每日更新数据的话,点个在看让我知道,拜拜~


©著作权归作者所有:来自51CTO博客作者mb5fe18e32e4691的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. LeetCode数据库篇|181超过经理收入的员工
  2. 实战|Python数据分析可视化并打包
  3. LeetCode数据库篇|175组合两个表
  4. 一道Leetcode数据库题的三种解法|文末送书
  5. 你在的城市撒币了吗?Python爬取全国各城市消费券发放数据并分析
  6. 玩转数据处理120题重制说明与下载
  7. Python机器学习之旅|手把手带你探索IRIS数据集
  8. COVID-19每日数据|04-09
  9. COVID-19每日数据|04-08

随机推荐

  1. android中ListView滑动变黑的情况
  2. Excessive JNI global references - Andr
  3. Android IPC 机制【1】--简介
  4. Android Studio第三十九期 - popWindows
  5. 【自定义控件】 ------- GridView
  6. android 修改主题背景色
  7. android日历实现
  8. android wiki
  9. android SDK安装后设置环境变量
  10. 类加载器