抗击新冠病毒(5)-使用pandas进行数据分析
< 返回列表时间: 2020-02-10来源:OSCHINA
# default_exp province # 上面一行用于nbdev中声明本模块的名称。必须是notebook的第一个Cell的第一行。
province 描述:抗击新冠病毒(5)-# 使用pandas进行数据分析. 功能:载入data/china.csv文件,进行绘图输出和分析。 模块:使用JupyterLab、Python、nbdev等完成。用到的Python模块包括: re,正则表达式解析。 json,JSON格式解析。 pandas,数据表格分析。 源码-https://github.com/openthings/anti2020ncov 参考: JupyterLab-数据实验室 文学式编程-nbdev入门教程 Pandas快速入门 更多参考: https://my.oschina.net/u/2306127?q=pandas 抗击新冠病毒(1)-开源软件与数据项目 抗击新冠病毒(2)-基于Jupyter+nbdev的数据分析 抗击新冠病毒(3)-探索在线数据资源 抗击新冠病毒(4)-获取并保存在线数据 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!")
输出图形如下:
热门排行