基于python的疫情数据采集与分析代码
时间: 2023-10-23 18:15:06 浏览: 36
以下是基于Python的疫情数据采集与分析代码:
1. 疫情数据采集
```python
import requests
import pandas as pd
# 获取疫情数据
url = "https://c.m.163.com/ug/api/wuhan/app/data/list-total"
response = requests.get(url)
data = response.json()
# 解析数据
lastUpdateTime = data["data"]["lastUpdateTime"]
chinaTotal = data["data"]["chinaTotal"]
chinaAdd = data["data"]["chinaAdd"]
areaTree = data["data"]["areaTree"]
# 转换为DataFrame格式
df = pd.json_normalize(areaTree, record_path=["children"], meta=["name", "today", ["total", "confirm"]])
df = df[["name", "today.confirm", "total.confirm", "today.heal", "total.heal", "today.dead", "total.dead"]]
df.columns = ["地区", "新增确诊", "累计确诊", "新增治愈", "累计治愈", "新增死亡", "累计死亡"]
# 输出结果
print("数据更新时间:", lastUpdateTime)
print("全国疫情数据:")
print("累计确诊:", chinaTotal["confirm"])
print("累计治愈:", chinaTotal["heal"])
print("累计死亡:", chinaTotal["dead"])
print(df)
```
2. 疫情数据分析
```python
import matplotlib.pyplot as plt
# 取出省份数据
df_province = df[df["地区"].str.endswith("省")]
# 按累计确诊数排序
df_province = df_province.sort_values(by="累计确诊", ascending=False)
# 绘制柱状图
plt.figure(figsize=(12,6))
plt.bar(df_province["地区"], df_province["累计确诊"])
plt.xticks(rotation=90)
plt.xlabel("省份")
plt.ylabel("累计确诊数")
plt.title("各省份累计确诊数")
plt.show()
```
以上代码可以帮助你采集疫情数据并进行简单分析。但需要注意的是,疫情数据的来源和格式可能会发生变化,需要根据实际情况进行调整。