今晚来点轻鬆的。资料视觉化,複习一下DataFrame、seaborn
引用资料来源:country_vaccination.csv Kaggle Dataset
该资料集记录各国施打COVID疫苗的逐日报表,是从Our World in Data网站收集整理出来的。说明:
Data is collected daily from Our World in Data GitHub repository for covid-19, merged and uploaded. Country level vaccination data is gathered and assembled in one single file. Then, this data file is merged with locations data file to include vaccination sources information.
Step 1. 载入资料集:使用pandas DataFrame
本文内相关的栏位是country、total_vaccinations、daily_vaccinations。
Step 2. 依国家别分群、找出国家别是”Taiwan”者( 202笔,资料日截至2021-10-09)
Step 3. 统计 daily_vaccinations 的min max mean median
Step 4. barplpot 画 每日接种人数 seaborn
Step 5. lineplot 画 累计人数逐日图
成果图:
Source code
# vaccine_sn02.pyimport numpy as np import pandas as pd import seaborn as snfrom matplotlib import rcParamsfrom matplotlib.ticker import MultipleLocatorimport matplotlib.pyplot as pltimport matplotlib.ticker as ticker''' 以dataframe 读取csv '''print('以dataframe 读取 csv')df = pd.read_csv('country_vaccinations.csv')# 依国家别分群df = df.groupby('country')# 找出国家别是”Taiwan”者 (资料日截至2021-10-09)dfT = df.get_group('Taiwan')print(f'符合的记录数目: {dfT.count}')# 只取四栏位dfTwn = dfT[['country','date','total_vaccinations','daily_vaccinations']]print(dfTwn.head())# 统计 daily_vaccinations 的 min max mean medianstat1 = dfTwn['daily_vaccinations'].aggregate(['min', 'max', 'mean', 'median'])stat1 = stat1.astype(int)print(stat1)# total_vaccinations 累计接种人数之最大值print(f'total vaccinations: Taiwan\n{int(dfTwn["total_vaccinations"].max())}')# barplpot 画 每日接种人数 seaborn rcParams['figure.figsize'] = 15,8xmajorLocator = MultipleLocator(15)ax = sn.barplot(x=dfTwn['date'],y=dfTwn['daily_vaccinations'],data= dfTwn)ax.set_xticklabels(ax.get_xticklabels(),rotation = 45,size=12)ax.xaxis.set_major_locator(xmajorLocator)ax.set_title('Daily vaccination ( Taiwan )')# 存档plt.savefig('Vaccine_TaiwanDaily.png')plt.figure()# lineplot 画 累计人数逐日图xmajorLocator = MultipleLocator(15)ax2 = sn.lineplot(data= dfTwn,x=dfTwn['date'],y=dfTwn['total_vaccinations'])plt.xticks(rotation=45,size=12)ax2.xaxis.set_major_locator(xmajorLocator)ax2.set_title('Total vaccination ( Taiwan )')plt.savefig('Vaccine_TaiwanTotal.png')
附带题外:Our World in Data 网页还可以动态的以地图显示,随着时间的进行,各地区接种人数的增长动态。