新冠疫情数据统计 蓝桥杯楼赛第二十三期

新冠疫情数据统计

介绍

2020 年,新冠疫情肆掠全球。约翰·霍普金斯大学 跟踪了全球病例数据,包括总病例数、COVID-19 传播速度以及全球爆发情况。我们拿到了截止于某日的疫情数据,希望通过 Python 统计出我们需要的疫情指标。

知识点

  • Python 数据处理

目标

补充 count(data) 函数中的 TODO 部分,使其得到我们需要的结果:

  • 整理指定 data 数据文件,以 JSON 数据返回世界各大洲的的汇总数据。
  • 数据集中仅存在国家和地区名称,不存在大洲数据,需要自行解决。表格中的每个国家/地区都需要划分到实际所在大洲。
  • 需要删除明显统计错误的数据(即:确诊人数、死亡人数、康复人数、现有人数不匹配),缺失人数统计数据使用 0 填充。其余情况无需处理。
def count(data):
    """TODO
    """
    results = None
    return results

样例

首先,打开终端,使用以下命令将数据文件下载至环境中:

cd /home/shiyanlou/Code
wget https://labfile.oss.aliyuncs.com/courses/2799/cases_country.csv

部分数据截图如下,其中 ISO3 为国家/地区标准代码:
在这里插入图片描述

count(data) 函数最终返回数据格式示例如下(数据非真实情况):

results = {"Confirmed": {"Africa": 1203024, "Asia": 6420215, "Oceania": 25346, "Europe": 3311213, "America": 1023402, "Others": 13443, "Total": 15440234}, "Deaths": {"Africa": 22222, "Asia": 133126, "Oceania": 556, "Europe": 111431, "America": 51155, "Others": 502, "Total": 616513}, "Recovered": {"Africa": 130522, "Asia": 5163035, "Oceania": 21212, "Europe": 1112545, "America": 214106, "Others": 1424, "Total": 13131033 }, "Active": {"Africa": 244262, "Asia": 1124052, "Oceania": 4252, "Europe": 1201515, "America": 121345, "Others": 3455, "Total": 3612602}}

返回数据中,ConfirmedDeathsRecoveredActive 分别表示:确诊人数、死亡人数、康复人数、现有人数。而 AfricaAsiaOceaniaEuropeAmericaOthers 分别表示:非洲、亚洲、大洋洲、欧洲、美洲(北美洲和南美洲)和其他的相应人数,Others 其他为非国家/地区的数据项。Total 表示数据总和。所有数值数据为 Int 类型

要求

  • 题目需使用 Python 3.6 完成,可以使用标准库和第三方库。如果你的函数使用了第三方库,提交检测前,务必在线上环境中安装相应库。
  • 使用第三方库时,必须使用 python3.6 -m pip install <package_name> 命令安装,保证相应库安装在 Python 3.6 环境中。
  • 函数传入 data 为字符串类型,为数据文件的相对路径。
  • 函数返回 JSON 数据(字符串类型),示例如上,无顺序要求。
  • 需要将函数 count(data) 保存到 covid.py 文件中,并将该文件放置在 /home/shiyanlou/Code 路径下方。
  • covid.py 文件中仅保留函数,不要添加测试或执行代码,避免检测时出错。
  • 线上环境调试代码时,请使用 python3.6 covid.py 命令调用 Python 3.6。

提示

调试代码时,请使用 python3.6 covid.py 命令调用 Python 3.6。

提示

  • country-converter 库提供了转换大洲数据的方法,你可以通过官方提供的 示例学习。线上环境中安装 country-converter 的命令为:python3.6 -m pip install setuptools && python3.6 -m pip install country-converter
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值