编程语言
首页 > 编程语言> > Python-Matplotlib实现新冠病毒疫情数据分析-超细致流-逐行注解

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