【资料视觉化】COVID新冠疫苗施打一览 Seaborn

今晚来点轻鬆的。资料视觉化,複习一下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.
http://img2.58codes.com/2024/20111373B5vmAGwkMW.jpg

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 画 累计人数逐日图
成果图:
http://img2.58codes.com/2024/20111373Kqs3VMq5ac.png
http://img2.58codes.com/2024/20111373TUY6SJ8Qpj.png
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')

http://img2.58codes.com/2024/20111373ONBLA0RuQP.jpg

附带题外:Our World in Data 网页还可以动态的以地图显示,随着时间的进行,各地区接种人数的增长动态。
http://img2.58codes.com/2024/20111373bV331dOd6E.jpg


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章