疫情数据微处理——Numpy实战

news2024/9/23 11:18:31

注:文章内容参考了莫烦python

一、数据来源

数据来自于Kaggle公开免费数据集,需要的伙伴可以自行到这里下载。 

二、展示数据

我们用一个字典存储csv数据的第一行、每一行开头的日期以及除了这两者外的数据。

import csv
import numpy as np

with open("./2020年疫情数据/day_wise.csv", "r", encoding='utf-8') as f:
    csvfile = f.readlines()
    
    COVID_19_data = {
        "header": [i for i in csvfile[0].strip().split(",")],
        "date":[],
        "data":[],
    }
    
    # 存储日期信息和疫情信息
    for i in range(1, len(csvfile)):
        COVID_19_data["date"].append(csvfile[i].strip().split(',')[0])
        COVID_19_data['data'].append([float(n) for n in csvfile[i].strip().split(',')[1:]])
    COVID_19_data['data'] = np.array(COVID_19_data['data'])

运行截图如下:

三、任务1,获取 2020 年 2 月 3 日的所有数据

date_index = COVID_19_data["date"].index('2020-02-03')    # 找到时间索引
date_data = COVID_19_data['data'][date_index]    # 找到时间对应的疫情数据
# 打印数据
for i in range(len(date_data)):
    print(COVID_19_data['header'][i+1] + ":\t" + str(date_data[i]) + '\n')

运行截图如下:

 

四、任务2,2020 年 1 月 24 日统计的累积确诊病例有多少个?

row_index = COVID_19_data['date'].index("2020-01-24")    # 确定行坐标
column_index = COVID_19_data['header'].index('Confirmed')    # 确定列坐标
num = COVID_19_data['data'][row_index, column_index-1]
print(num)

五、任务3,2020 年 7 月 23 日的新增死亡数是多少?

row_index = COVID_19_data['date'].index("2020-07-23")    # 确定行坐标
column_index = COVID_19_data['header'].index('New deaths')    # 确定列坐标
num = COVID_19_data['data'][row_index, column_index-1]
print(num)

六、任务4,从 1 月 25 日到 7 月 22 日,一共增长了多少确诊病例?

row0125 = COVID_19_data['date'].index("2020-01-25")
row0722 = COVID_19_data['date'].index("2020-07-22")
column = COVID_19_data['header'].index('New cases')
new_cases = COVID_19_data['data'][row0125+1:row0722+1, column-1]
all = new_cases.sum()
print(all)

七、任务5, 新增确诊与新增恢复的比例,平均值和标准差

new_cases_idx = COVID_19_data["header"].index("New cases")
new_recovered_idx = COVID_19_data["header"].index("New recovered")
# 比例
not_zero_mask = COVID_19_data['data'][:, new_recovered_idx-1] != 0
ratio = COVID_19_data['data'][not_zero_mask, new_cases_idx-1] / COVID_19_data['data'][not_zero_mask, new_recovered_idx-1]
# 平均值
mean = ratio.mean()
# 标准差
std = ratio.std()
print(f"平均值为{mean},标准差为{std}")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/749277.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年7月13日,Stream流,Stream流的获取,Stream流中间聚合操作,Stream流终结操作,Calendar时间日期类,包装类

Stream流 1. 单列集合的Stream流获取 Java中的Stream流操作可以分为中间操作和终止操作两种。 中间操作包括: filter:对流中的元素进行筛选。map:对流中的元素进行转换。flatMap:对流中的元素进行扁平化映射。distinct&#x…

重启Oracle数据库

root 用户登录服务器。 1、 以oracle身份登录数据库,命令:su - oracle 2、 进入Sqlplus控制台,命令:sqlplus /nolog 3、 以系统管理员登录,命令:connect / as sysdba可以合并为:sqlplus sys/密码…

Acwing:第 111 场周赛(2023.7.12 C++)

目录 5047. 1序列 题目描述: 实现代码: 5048. 无线网络 题目描述: 实现代码: 二分 贪心 5049. 选人 题目描述: 实现代码: 数学 5047. 1序列 题目描述: 实现代码: #incl…

如何实现浏览器内多个标签页之间的通信?

1、使用 LocalStorage 特点:同域共享存储空间;持久化将数据存储在浏览器;提供事件监听storage变化 实现逻辑: A页面将数据存储在本地。B页面监听storage的变化,同步storage的最新数据; 好处:操…

绘制数据图

读取文件: ( 1960 : 30 64 6 ) (1970 : 24 69 7 ) (1980 : 23 68 9 ) (1990 : 18 70 12) (2000 : 15 68 17 ) (2010 : 13 64 23 ) (2020 : 12 60 28) ( 2030 : 11 59 30 ) ( 2040 : 11 56 33 ) 运行代码: //绘制数据图 #include"std_lib_facil…

2.字体图标

2.1字体图标的产生 字体图标使用场景:主要用于显示网页中通用、常用的一些小图标。 精灵图是有诸多优点的,但是缺点很明显: 1.图片文件比较大 2.图片本身放大和缩小会失真 3.一旦图片制作完毕想要更换非常复杂 字体图标iconfont可以很好的解决以上问题…

Redis特性初识及其安装与配置

目录 1.认识Redis Redis主要特点 主要应用场景 2.MySQL VS NoSQL 3.Redis的安装与配置 redis5的安装 修改配置文件 启动redis 4.Redis客户端 命令行客户端 图形化界面客户端 基于redis的API自行开发客户端 1.认识Redis Redis(Remote Dictionary Serve…

Python-Web框架flask使用

目录 1.Web框架 1.1 flask 1.1.1 debug调试 1.1.2 定义参数web服务 获取字符串 ​编辑 1.1.3 html网页渲染 1.13.1 带参数传给网页文件 普通元素 列表元素 字典元素 1.Web框架 1.1 flask python的web框架,目录结构如下: 1.static存放的是css,…

《Linux运维总结:Centos7.6之OpenSSH7.4升级版本至9.3》

一、环境信息 操作系统:Centos7.6.1810 OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 如下图所示: 注意:升级后由于加密算法的区别,低版本的SSH工具可能无法连接,建议改用Xshell7或SecureCRT9.0以上版本。 二、注意事项 1、 …

2023最新版 Navicat 16.2.3安装和试用教程详解:轻松掌握最新版本的数据库管理工具连接Redis

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

kettle开发-Day40-AI分流之case/switch

前言: 前面我们讲到了很多关于数据流的AI方面的介绍,包括自定义组件和算力提升这块的,今天我们来学习一个关于kettle数据分流处理非常重要的组件Switch / Case 。当我们的数据来源于类似日志、csv文件等半结构化数据时,我们需要在…

计算机网络 day6

目录 arp协议 arp病毒\欺骗 arp病毒的运行原理 arp病毒产生的后果: 解决方法: ICMP协议 ICMP用在哪里? ICMP协议数据的封装过程 ​编辑 为什么icmp协议封装好数据后,还要加一个ip包头,再使用ip协议再次进…

【UE4 C++】08-生成抛射物来模拟攻击效果

步骤 新建一个C类,父类为Actor,命名为“ASMagicProjectile” 在“ASMagicProjectile.h”中添加如下代码: 在“ASMagicProjectile.cpp”中添加如下代码: 编译后在虚幻编辑器中新建一个蓝图,选择父类为我们刚创建的C类…

vscode插件开发之终端那些事儿

在开发vscode插件的时候,好几个设计都需要集成终端。 查资料后发现vsocd为开发者提供了丰富的终端API。 结合我自己的需求来展开终端的那些事儿吧: 从treeview中点击触发打开一个终端 无关的代码省略: vscode.window.createTerminal({name…

python+selenium进行cnblog的自动化登录测试

Web登录测试是很常见的测试,手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文就基于pythonselenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动化登录测试,可提供点参考!下面就包括测试代…

有没有好的PC端和移动端都能用的便签app?

生活在快节奏的社会环境中,我们每天都要面对大量的事务。为了更好地管理任务和时间,便签app成为了越来越多人选择的工具。因为,便签app不仅能帮助我们记录并安排日常事务,还可以设置提醒事项,准时发送提醒通知告诉我们…

数学建模——插值算法

概念:数模比赛中,常常需要根据有已知的函数点进行数、模型处理和分析,而有时候现有的数据是极少的,不足以支撑分析的进行,这时就需要使用一些数学的方法,“模拟产生“一些新的但又比较靠谱的值来满足需求&a…

为什么很多人说不建议学JAVA,说很难找到工作?

前言 在回答这个问题之前,我曾经也看到了类似的其他语言相关的问题: 那么现在问题来了,什么语言都不建议学,那什么是可以学的呢?看多了所谓的不建议学习的文章和回答固然可以了解到该语言的些许缺点和当前环境下的一些…

NTLM协议

0x01 LM Hash加密算法 LM Hash本质是一个DES加密,从Windows Vista和Windows Server 2008开始就禁用了LM Hash。LM Hash明文密码被限定在14位以内,密码超过14位则会停止使用LM Hash。下面介绍一下LM Hash的加密流程,以Pss1234为例&#xff1a…

Element-Plus搭建CMS页面结构 引入第三方图标库iconfont(详细)

Element-Plus组件库使用 element plus组件库是由饿了么前端团队专门针对vue框架开发的组件库,专门用于电脑端网页的。因为里面集成了很多组件,所以使用他可以非常快速的帮我们实现网站的开发。 安装: npm install element-plus --save 引入…