Python 分析 河南省历史数据处理与分析

本站所有文章均为原创,欢迎转载,请注明文章出处https://blog.csdn.net/m0_60750293/article/details/128110858?spm=1001.2014.3001.5501

数据来自第一篇文章的Python 数据爬虫

河南省历史数据处理与分析

1.1 河南省历史数据预处理

#读取数据疫情数据today_province_2022_11_29.csv
import pandas as pd
alltime_henan = pd.read_csv('alltime_henan_2022_11_29.csv', encoding='utf-8')   # 1)读文件
print( alltime_henan.info() )     # 2)查看基本信息
name_dict = {'date':'日期',
             'today_confirm':'当日新增确诊','today_suspect':'当日新增疑似',
             'today_heal':'当日新增治愈','today_dead':'当日新增死亡',
             'today_severe':'当日新增重症','today_storeConfirm':'当日现存确诊', 'today_input':'当日输入',
             'total_confirm':'累计确诊','total_suspect':'累计疑似','total_heal':'累计治愈',
             'total_dead':'累计死亡','total_severe':'累计重症','total_input':'累计输入','total_newConfirm':'累计新增确诊',
             'total_newDead':'累计新增死亡','total_newHeal':'累计新增治愈','total_storeConfirm':'累计现存确诊'}   # 3)创建中文列名字典
alltime_henan.rename(columns=name_dict, inplace=True)   # 4)将英文列名更改中文列名
alltime_henan.head()

结果图
在这里插入图片描述

alltime_henan.tail() #查看后五行

结果图
在这里插入图片描述

# 查看数据的统计信息
alltime_henan.describe()

结果图
在这里插入图片描述
2020-01-21到2022-11-27的数据,总共1042天。当日新增确诊平均值为6.83,当日新增治愈为3.89,平均一天6人确诊,3人治愈。

# 缺失值处理
# 计算当日现存确诊人数
alltime_henan['当日现存确诊'] = alltime_henan['累计确诊']-alltime_henan['累计治愈']-alltime_henan['累计死亡']
# 删除更新时间一列
alltime_henan.drop(['累计输入','当日新增重症','累计重症','累计疑似','当日输入','当日新增疑似'],axis=1,inplace=True)
alltime_henan.head()

结果图
在这里插入图片描述

# 将日期改成datetime格式
alltime_henan['日期'] = pd.to_datetime(alltime_henan['日期'])

# 设置日期为索引
alltime_henan.set_index('日期',inplace=True)     # 也可使用pd.read_csv("./input/alltime_China_2020_03_27.csv",parse_dates=['date'],index_col='date')

alltime_henan.index

结果图
在这里插入图片描述

alltime_henan.head() #查看前5行

1.2 河南省历史数据可视化分析

#2020-2022年河南省新冠肺炎疫情曲线图(累计确诊,累计治愈)
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

plt.rcParams['font.sans-serif'] = ['simhei']   # 用来正常显示中文标签

plt.figure(figsize=(12, 8))
plt.title('2020-2022年河南省新冠肺炎疫情曲线图', fontsize=20)

plt.plot(alltime_henan.index, alltime_henan['累计确诊'], 'r-', label='累计确诊')
plt.plot(alltime_henan.index, alltime_henan['累计确诊'], 'rs')

plt.plot(alltime_henan.index, alltime_henan['累计治愈'], 'y-', label='累计治愈')
plt.plot(alltime_henan.index, alltime_henan['累计治愈'], 'y+')

plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m-%d')) # 格式化时间轴标注
plt.gcf().autofmt_xdate() # 优化标注(自动倾斜)
plt.grid(axis='x')       # 显示网格
plt.legend() # 显示图例

plt.show()

结果图
在这里插入图片描述
从图中可以看出,河南省累计确诊人数在2020年2月开始增加,增加到1000多之后,一直处于稳定状态。从2022年02月左右开始上涨,并且在2022年10月左右,累计确诊人数呈指数级增长,从之前的3000多人增长到7000多人,但同时累计治愈人数也在同步增长,在11月左右累计治愈人数与累计确诊人数拉开较大差距,说明目前是河南省三年内疫情最严重的阶段。

#2020-2022年河南省新冠肺炎疫情曲线图(当日新增确诊)
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

plt.rcParams['font.sans-serif'] = ['simhei']   # 用来正常显示中文标签

plt.figure(figsize=(12, 8))
plt.title('2020-2022年河南省新冠肺炎疫情曲线图', fontsize=20)

plt.plot(alltime_henan.index,alltime_henan['当日新增确诊'], 'g-', label='当日新增确诊')
plt.plot(alltime_henan.index,alltime_henan['当日新增确诊'], 'gd')

plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m-%d')) # 格式化时间轴标注
plt.gcf().autofmt_xdate() # 优化标注(自动倾斜)
plt.grid(axis='x')       # 显示网格
plt.legend() # 显示图例

plt.show()

结果图
在这里插入图片描述
从图中可以看出,河南省当日新增确诊人数和上一个图同步变化,之前都很平稳,从2022年02月开始增加,之后也有波动,但从2022年11月开始剧增。

#提取2022年数据
open_day='2022-01-01'
close_day='2022-11-28'
con1=alltime_henan.index >=open_day
con2=alltime_henan.index <close_day
alltime_henan[con1&con2].head()

结果图
在这里插入图片描述

#2022年河南省新冠肺炎疫情曲线图(当日新增确诊)
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

plt.rcParams['font.sans-serif'] = ['simhei']   # 用来正常显示中文标签

plt.figure(figsize=(12, 8))
plt.title('2022年河南省新冠肺炎疫情曲线图', fontsize=20)

plt.plot(alltime_henan[con1&con2].index,alltime_henan[con1&con2]['当日新增确诊'], 'g-', label='当日新增确诊')
plt.plot(alltime_henan[con1&con2].index,alltime_henan[con1&con2]['当日新增确诊'], 'gd')

plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m-%d')) # 格式化时间轴标注
plt.gcf().autofmt_xdate() # 优化标注(自动倾斜)
plt.grid(axis='x')       # 显示网格
plt.legend() # 显示图例

plt.show()

结果图
在这里插入图片描述
码字不易,切记白嫖,记得点赞加关注再走!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值