当前位置:网站首页>numpy--疫情数据分析案例
numpy--疫情数据分析案例
2022-07-07 13:26:00 【madkeyboard】
文章目录
前期准备
下载数据文件,从数据文件中读取数据分组进行存储。
数据文件地址:https://mofanpy.com/static/files/covid19_day_wise.csv
with open("covid19_day_wise.csv", "r", encoding="utf-8") as f:
data = f.readlines() # 打开文件读取数据
covid = {
# 定义一个对象存储日期、数据和标题
"date": [], # 日期
"data": [], # 数据
"header": [h for h in data[0].strip().split(",") [1:]] # 标题
}
for row in data[1:]: # 分组存放数据
split_row = row.strip().split(",")
covid["date"].append(split_row[0])
covid["data"].append([float(n) for n in split_row[1:]])
数据分析
获取 2020 年 2 月 3 日的所有数据
target = covid["date"].index("2020-02-03") # 找到目标日期的下标
data = np.array(covid["data"])
for header, number in zip(covid["header"],data[target]):
print(header," : ",number)
2020 年 1 月 24 日之前的累积确诊病例有多少个?
target = covid["date"].index("2020-01-24") # 找到目标日期的下标
confirm_idx = covid["header"].index("Confirmed") # 获取确诊标题的下标
data = np.array(covid["data"])
print("2020 年 1 月 24 日之前的累积确诊病例有 %d 个" % data[target,confirm_idx]) # 这里要注统计的数据不包括1月14
# 2020 年 1 月 24 日之前的累积确诊病例有 941 个
从 1 月 25 日到 7 月 22 日,一共增长了多少确诊病例?
target_idx1 = covid["date"].index("2020-01-25")
target_idx2 = covid["date"].index("2020-07-22")
new_cases_idx = covid['header'].index("New cases")
data = np.array(covid["data"])
new_cases = data[target_idx1 + 1: target_idx2 + 1,new_cases_idx]
print("总共增长:",new_cases.sum())
# 总共增长: 15247309.0
每天新增确诊数和新恢复数的比例?平均比例,标准差各是多少?
new_cases_idx = covid['header'].index("New cases")
new_recovered_idx = covid['header'].index("New recovered")
data = np.array(covid["data"])
not_zero_mask = data[:, new_recovered_idx] != 0 # 筛选出除数为0,返回false
ratio = data[not_zero_mask,new_cases_idx] / data[not_zero_mask,new_recovered_idx] # 分别拿到新增确证数和新的恢复数,然后依次相除
print("比例:",ratio[:5]) # 前5组比例
print("平均比例:",ratio.mean(),"\n标准差:",ratio.std())
''' 比例: [ 49.5 47.83333333 164.33333333 52.61538462 89.88888889] 平均比例: 7.049556348053241 标准差: 19.094025710450307 '''
边栏推荐
- Do not use memset to clear floating-point numbers
- VS2005 strange breakpoint is invalid or member variable value cannot be viewed
- 【數字IC驗證快速入門】26、SystemVerilog項目實踐之AHB-SRAMC(6)(APB協議基本要點)
- The download button and debug button in keil are grayed out
- Getting started with webgl (2)
- [data mining] visual pattern mining: hog feature + cosine similarity /k-means clustering
- What is Base64?
- Iterator and for of.. loop
- Async and await
- 【微信小程序】Chapter(5):微信小程序基础API接口
猜你喜欢
[server data recovery] a case of RAID data recovery of a brand StorageWorks server
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
【數字IC驗證快速入門】20、SystemVerilog學習之基本語法7(覆蓋率驅動...內含實踐練習)
使用Scrapy框架爬取网页并保存到Mysql的实现
[quick start of Digital IC Verification] 29. Ahb-sramc (9) (ahb-sramc svtb overview) of SystemVerilog project practice
【數據挖掘】視覺模式挖掘:Hog特征+餘弦相似度/k-means聚類
Async and await
Streaming end, server end, player end
Webgl texture
Starting from 1.5, build a microservice framework link tracking traceid
随机推荐
Wechat applet 01
Keil5 does not support online simulation of STM32 F0 series
Configure mongodb database in window environment
Cocos creator collision and collision callback do not take effect
jacoco代码覆盖率
避坑:Sql中 in 和not in中有null值的情况说明
Webgl texture
写一篇万字长文《CAS自旋锁》送杰伦的新专辑登顶热榜
Nacos一致性协议 CP/AP/JRaft/Distro协议
Use cpolar to build a business website (2)
Share the technical details of super signature system construction
【Markdown语法高级】让你的博客更精彩(四:设置字体样式以及颜色对照表)
Iterator and for of.. loop
Streaming end, server end, player end
#HPDC智能基座人才发展峰会随笔
【搞船日记】【Shapr3D的STL格式转Gcode】
如何在opensea批量发布NFT(Rinkeby测试网)
How to create Apple Developer personal account P8 certificate
The significance of XOR in embedded C language
The difference between full-time graduate students and part-time graduate students!