Python-Matplotlib实现新冠病毒疫情数据分析-超细致流-逐行注解
作者:互联网
(1)需求背景
我将扮演一名数据工作者。在目前国内的新冠病毒疫情背景下,你觉得应该用数据做重新剖析一下疫情状况,恰好现在有一份2020.1.22至2020.2.13的全国疫情数据,我将对疫情现状做一个基本分析
作为一名python数据分析是,面对元素数据,我将完成以下工作:
a.读取数据,初步了解数据结构
b.清洗数据,使数据能做进一步分析
c.呈现结果
1.全国疫情确诊病例Top10那些省市
2.查看不同日期的疫情情况
3.提取某一地区多日的疫情情况
(2)手撸代码
# 导包
import pandas as pd
import warnings
warnings.filterwarnings('ignore')
# 设置不弹出警告
# 读取数据
df = pd.read_excel("/data_ncov.xlsx")
# 查看数据基本结构
df.info()
![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20200229151239548.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTE1NDU1OQ==,size_16,color_FFFFFF,t_70)
print(df)
![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20200229151600950.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTE1NDU1OQ==,size_16,color_FFFFFF,t_70)
这里我们要把数据的date列的时间转换成datetime类型的格式,然后进行绘图
df["date"] = pd.to_datetime(df["date"])
# 我们提取2020-2-1日数据
data_2_1 = df[df[date]=="2020-2-1"]
# 按照确诊做降序排序
data_2_1 = stored(data_2_1["确诊"],replace=True,ascending=False)
# 绘制全国确诊病例top10省的柱状图
# 注意点:因为湖北数据量与其他省市差距太大,严重影响绘图效果,故剔除湖北省,在进行绘制
data_2_1.iloc[1:11].plot(x = "省市",y = "确诊",kind="bar",figsize=(15,10),color="red",grid=True,alpha = 0.8,ret = 45,title="2020-2-1全国确诊病例Top10")
![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20200229153347827.jpg?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTE1NDU1OQ==,size_16,color_FFFFFF,t_70)
# 绘制全国确诊和疑似病例Top10多系列柱状图
data_2_1.iloc[1:11].plot(x="省市",y=["确诊","疑似"]),kind="bar",figsize=(15,8),grid=True,alpha=0.8,rot=45,title="2020-2-1全国确诊,疑似病例Top10省市"
![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20200229153851901.jpg?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTE1NDU1OQ==,size_16,color_FFFFFF,t_70)
进阶版:把画图功能进行封装函数
def plotting(time,flag,top,kind):
data_time = df[df["date"]==time]
data_time.iloc[1:top].plot(x="省市",
y=flag,kind=kind,figsize(15,8),
gride=True,
alpha=0.8,
rot=45,
tiltle="{}全国{}病例top{}省市".format(time,flag,top))
# 调用函数设置参数出图
fig("20200201",["疑似","确诊"],10,"barh")
![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20200229154826259.jpg?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTE1NDU1OQ==,size_16,color_FFFFFF,t_70)
标签:10,确诊,疫情,Python,Matplotlib,df,color,data,逐行 来源: https://www.cnblogs.com/nigulasiximegn/p/14989436.html