# 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
- 参考:
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!")
输出图形如下: