抗击新冠病毒(5)-使用pandas进行数据分析

原创
2020/02/10 19:21
阅读数 1.6K
# default_exp province
# 上面一行用于nbdev中声明本模块的名称。必须是notebook的第一个Cell的第一行。

province

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import *  
prov = pd.read_csv("./data/prov_20200209.csv")
#prov
#prov['省份'].values.tolist()

各省的病例情况图

#中文乱码问题,https://www.linuxidc.com/Linux/2019-03/157632.htm

def draw(dfx):
    myfont = FontProperties(fname='/usr/share/fonts/truetype/arphic/ukai.ttc')  
    fig=plt.figure(figsize=(48,12), dpi=250)
    p1=fig.add_subplot(1,1,1)
    p1.set_xticklabels(dfx['省份'], rotation=30, fontsize='small',fontproperties=myfont)

    #显示数据。
    p1.plot(dfx['省份'],dfx['确诊'],color='red',linewidth=3,label='确诊')
    p1.plot(dfx['省份'],dfx['治愈'],color='green',linewidth=3,label='治愈')
    p1.bar(dfx['省份'],dfx['死亡'],color='black',label='死亡')

    plt.title(u'各省病例数量-2020/02/08',fontproperties=myfont) 
    plt.legend(loc=0,ncol=1,prop=myfont)
    plt.grid(True)
    plt.gcf().autofmt_xdate()
    plt.show()
# 绘制各省的病例情况图。    
draw(prov)

分省区的地市病例情况图

city = pd.read_csv("./data/city_20200208.csv")
#city
# 绘制指定省份的地市病例情况图。
def drawc(province):
    dfx = city[city['省份']==province]
    #print(dfx)
    
    #查询Linux系统的可用字体:fc-list :lang=zh
    myfont = FontProperties(fname='/usr/share/fonts/truetype/arphic/ukai.ttc')  
    fig = plt.figure(figsize=(48,6), dpi=250)
    p1 = fig.add_subplot(1,1,1)
    p1.set_xticklabels(dfx['城市'], rotation=30, fontsize='small',fontproperties=myfont)

    #显示数据。
    p1.plot(dfx['城市'],dfx['确诊'],color='red',linewidth=3,label='确诊')
    p1.plot(dfx['城市'],dfx['治愈'],color='green',linewidth=3,label='治愈')
    p1.bar(dfx['城市'],dfx['死亡'],color='black',label='死亡')

    plt.title(province + u'各地市病例数量-2020/02/08',fontproperties=myfont) 
    plt.legend(loc=0,ncol=1,prop=myfont)
    plt.grid(True)
    plt.gcf().autofmt_xdate()
    plt.show()
    return dfx
# 绘制所有省的所有地市统计图。
ind = 1
for each in prov['省份']:
    print(ind, each)
    ind = ind + 1
    try:
        result = drawc(each)
    except:
        print("ERROR!")

输出图形如下:

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部