sanju1626/covid19-india-analysis
GitHub: sanju1626/covid19-india-analysis
使用 Python 对印度 2020–2021 年 COVID-19 疫情数据进行全面探索性分析的开源项目,涵盖数据清洗、各邦对比、疫情波次检测及 18 种可视化图表。
Stars: 0 | Forks: 0
# 🦠 COVID-19 印度数据分析 (2020–2021)






# 📖 项目概述
本项目使用 Python 对印度的 COVID-19 疫情进行了全面的**探索性数据分析 (EDA)**。分析涵盖了 **2020 年 1 月至 2021 年 10 月**期间,重点关注感染趋势、康复规律、死亡率、各邦比较、相关性分析、特征工程和时间序列可视化。
该项目展示了 **Pandas、NumPy、Matplotlib 和 Seaborn** 的实际应用,同时将原始的 COVID-19 数据集转化为有意义的可视化见解。
# 🎯 目标
- 分析 COVID-19 在印度的传播情况。
- 研究每日和每月的病例趋势。
- 比较印度各邦的 COVID-19 统计数据。
- 探索康复率和病死率。
- 识别疫情高峰波次。
- 使用衍生指标进行特征工程。
- 可视化多个 COVID-19 指标之间的关系。
- 构建适合 GitHub 展示和面试的高质量 EDA 项目。
# 📂 数据集
本分析使用了公开可用的 COVID-19 数据集,其中包含:
- 每日确诊病例
- 每日康复病例
- 每日死亡病例
- 各邦累计统计数据
- 检测数据
- 按日期划分的时间序列信息
# 🛠️ 使用的技术
| 工具 | 用途 |
|------|----------|
| Python | 编程语言 |
| Pandas | 数据清洗与分析 |
| NumPy | 数值计算 |
| Matplotlib | 数据可视化 |
| Seaborn | 统计可视化 |
| Jupyter Notebook | 交互式分析 |
# 📁 项目结构
```
COVID19-INDIA-ANALYSIS/
│
├── data/
│ ├── case_time_series.csv
│ ├── raw_data1.csv
│ ├── raw_data2.csv
│ └── ...
│
├── images/
│ ├── daily_confirmed_cases.png
│ ├── monthly_confirmed_cases.png
│ ├── correlation_heatmap.png
│ ├── covid_waves_india.png
│ ├── custom_risk_score.png
│ └── ...
│
├── covid_analysis.ipynb
├── README.md
├── requirements.txt
├── .gitignore
└── LICENSE
```
# 📊 探索性数据分析
## 📈 图表 1:每日确诊 COVID-19 病例
可视化印度每日确诊 COVID-19 病例的趋势,有助于识别感染激增和主要爆发期。
## 📈 图表 2:每日康复 COVID-19 病例
展示每日康复趋势,并说明在整个疫情期间患者的康复情况是如何变化的。
## 📈 图表 3:每日死亡 COVID-19 病例
显示每日的 COVID-19 死亡人数,突显了随时间变化的死亡率趋势。
## 📊 图表 4:按确诊病例数排名的前 10 个邦
比较累计确诊 COVID-19 病例数最多的十个印度邦。
## 📊 图表 5:按康复病例数排名的前 10 个邦
根据 COVID-19 康复患者总数对排名前十的邦进行排序。
## 📊 图表 6:按死亡病例数排名的前 10 个邦
展示累计 COVID-19 死亡人数最高的邦。
## 📊 图表 7:按 COVID-19 检测数排名的前 10 个邦
比较印度各邦的检测量,以了解检测力度。
## 📈 图表 8:每月确诊病例
显示每月确诊 COVID-19 病例的趋势,使长期规律更容易被观察到。
## 📈 图表 9:每月康复病例
显示每月的康复趋势,并比较整个疫情期间的康复增长情况。
## 📈 图表 10:每月死亡病例
可视化每月的 COVID-19 死亡人数,以识别死亡率上升的时期。
## 📊 图表 11:随时间变化的康复率
使用特征工程展示 COVID-19 康复率在整个疫情期间的变化情况。
## 📊 图表 12:随时间变化的病死率
说明随时间变化的病死率变化情况,为了解疾病的严重程度提供见解。
## 🔥 图表 13:相关性热力图
显示主要 COVID-19 变量(如确诊、康复、死亡和检测病例)之间的相关性。
## 📉 图表 14:确诊与康复病例对比
使用散点图探索各邦确诊与康复病例之间的关系。
## 📈 图表 15:每日确诊病例的 7 天滚动平均值
使用滚动平均值平滑每日波动,以揭示潜在的感染趋势。
## 🌊 图表 16:印度的 COVID-19 疫情波次
使用带注释的时间序列可视化,突出显示第一波和第二波 COVID-19 疫情。
## 🥧 图表 17:COVID-19 病例分布
使用饼图可视化康复、死亡和现有病例的比例。
## 📊 图表 18:按自定义 COVID-19 风险评分排名的前 10 个印度邦
使用根据确诊、现有和死亡病例得出的自定义分析风险评分,对印度各邦进行排名,以进行探索性分析。
# 📈 关键发现
- 印度经历了两次主要的 COVID-19 疫情波次,其中第二波明显更为严重。
- 马哈拉施特拉邦持续记录到最高数量的确诊病例。
- 在整个疫情期间,康复率稳步提高。
- 随着医疗系统的适应,病死率逐渐下降。
- 在确诊、康复和死亡病例之间观察到了强烈的正相关性。
- 7 天滚动平均值有效减少了每日波动,并突显了长期趋势。
- 各邦分析揭示了疫情在印度各地影响的显著差异。
# 🧠 展示的技能
- 数据清洗
- 数据整理
- 探索性数据分析 (EDA)
- 特征工程
- 时间序列分析
- 数据聚合
- 相关性分析
- 统计可视化
- 商业洞察生成
- 数据叙事
# 📚 使用的 Python 库
```
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
```
# 🚀 运行方式
## 克隆仓库
```
git clone https://github.com/yourusername/COVID19-India-Analysis.git
```
## 导航到项目文件夹
```
cd COVID19-India-Analysis
```
## 安装依赖项
```
pip install -r requirements.txt
```
## 启动 Jupyter Notebook
```
jupyter notebook
```
打开:
```
covid_analysis.ipynb
```
# 📸 项目预览




# 💡 未来改进
- 使用 Plotly 或 Power BI 构建交互式仪表板。
- 使用 Prophet 或 ARIMA 执行预测。
- 应用机器学习模型进行病例预测。
- 整合疫苗接种数据。
- 使用 Streamlit 开发交互式 Web 仪表板。
# ⚠️ 免责声明
本项目中提供的**自定义 COVID-19 风险评分**是为探索目的而创建的用户自定义分析指标。它**不**是官方的流行病学风险指数。
# 👨💻 作者
**Sanju Madaan**
计算机科学与工程学士
热爱数据分析、机器学习和人工智能 (AI)。
GitHub: https://github.com/sanju1626
# ⭐ 如果您觉得这个项目有用
请考虑在 GitHub 上给这个仓库一个 ⭐!
标签:NoSQL, Python, 代码示例, 探索性数据分析, 数据分析, 新冠疫情, 无后门, 逆向工具