【2021夏季挑战赛】基于Python+FineBI的新冠疫苗接种可视化分析
一、选手简介1、个人简介 社区用户名:各位大佬们好,我的帆软社区用户名是米迪拉,目前是21届应届毕业生,暂未就业(处于无业状态~/(ㄒoㄒ)/~~)。专业为统计学,比较擅长用Python中的一些库进行数据探索性分析、统计分析以及可视化分析,我在凹凸数据微信公众号上关注到了这次比赛,接触到了帆软的FineBI,觉得大有收获,不用敲密密麻麻的一堆代码了不是吗?哈哈!!!帆软产品还有入门级的视频做的特别棒,很容易上手操作! PS附上本人的帅照 2、参赛初衷
我想掌握多一些数据分析的能力,这对于我未来的职业规划和就业方向有着很大帮助,借此拓宽视野。
本来想和熟悉FineBI的大佬们组队来躺平(PS我一直以为电脑装不上FineBI直到我在群上问了,尬~没调好配置),后来想锻炼一下,就自己单产到户、顺便接触和学习下BI行业的边边角角。
帆软的奖励很丰富光是奖金就是一块诱人的大蛋糕,我更看中其中的一些学习的会员福利,也想增加些许经历。在个人经历方面,画上一笔浓重的色彩。
认识了好多就业的大神~有个小姐姐网名叫小草微澜,真巧我叫“碧波微澜”都是微澜,蛤蛤蛤。我经常和她请教下帆软BT的一些操作经验,我现在能做的分析不多,毕竟换个框架来搭建分析,我是纯小白。从零开始的异世界不是吗?。。。
接触FineBI后,我觉得完全可以推广给高校进行教学活动,身为大四统计学专业的我,深知BI行业是实现了人人都是数据分析师重要基础。
二、作品介绍 1、研究背景 接种疫苗是抵御新冠病毒的有效手段,我希望能在公共卫生领域方面了解世界各个国家和地区的接种情况,希望通过本次分析让大家能更加了解到接种疫苗的重要性。 2、数据来源 自选数据:来源于Kaggle网站中的COVID-19 World Vaccination Progress数据集,由统计科学家Gabriel Preda汇总。这里我使用的是2020年12月到2021年6月8号的接种数据,数据每天依旧在持续更新,有兴趣的小伙伴可以看一下原数据。这里给出字段信息。
列名
字段含义
列名
字段含义
country
提供疫苗接种信息的国家和地区
daily_vaccinations
每日疫苗接种
iso_code
国家/地区的ISO代码
total_vaccinations_per_hundred
截至该国日期为止的总疫苗接种百分比
date
数据输入的日期
people_vaccinated
_per_hundred
每百人接种疫苗的总人数
total_vaccinations
疫苗接种总数
people_fully_
vaccinated_per
_hundred
每百人完全接种疫苗量的总人数(部分国家每隔几天统计一次)
people_vaccinated
接种的总人数
daily_vaccinations _per_million
每百万日接种疫苗
people_fully_
vaccinated
已完全接种疫苗的总人数
vaccines
该国使用的疫苗
daily_vaccinations_rawas
每日疫苗接种(原始)
source_name
来源名称-信息来源(国家政府,世卫组织,地方组织等)
daily_vaccinations_per_million
每百人日接种疫苗
source_website
来源网站-信息来源网站
3、分析思路 我将从以下几个方面着手分析:
截至到该数据统计的时间为止,在统计的国家和地区中有少种疫苗被应用在抗击新冠肺炎上?有多少种疫苗组合使用的方案?
从空间维度上分析,新冠疫苗在全球的分布情况是怎样的?疫苗使用情况如何?哪一种疫苗被使用最为广泛?
参照不同的标准(人口、总接种率、接种人数、每日接种人数),找到疫苗接种计划更先进的国家和地区。
4、数据处理 为了使用FineBI中自动国家匹配经纬度的功能,我选用Excel中的有道翻译API快速翻译国家和地区名称(强烈建议官方加入英文匹配,或者优化模糊匹配。我匹配完国家的经纬度(*^_^*)数据,还有30多个国家要手动翻,要哭了)。还有就是用Python的Pandas库分割下字符串(一个国家用的疫苗种类好多种,所以要去重unique后再分离split才能得到单种疫苗和使用频次)。这里生成了额外的两个csv表,vaccine和country_vaccines(去除时间变化,聚合最优接种记录)。
vaccine数据集转化例图
144751
country_vaccines聚合例图
144752
5、可视化报告 (1)我希望可视化效果能尽量展示比较重要的信息,让大家理解我的思考逻辑,抛砖引玉使用词云图和统计表格快速明确疫苗方案,因为疫苗使用一般是两到三种,所以下一步找到疫苗的种类和使用的多寡。
144753
(2)使用饼图,罗列出来16种不同的疫苗,由于饼图面积和国家使用情况的多寡之间关系比例会导致可视化效果不理想,我采用了雷达图用连线和点代表大小和种类。并且用文本形式突出重要信息。
144754
144755
(3)FineBI有高德地图的API插件,需要到模板中下载,有经纬度的数据比较好匹配,也支持中文地名匹配。这里我用卫星图从空间分布上呈现接种情况分布,移动鼠标可以观察到提醒文段为疫苗使用方案、人口和总接种率,非常直观看到绝大多数的国家处于黑色区域(接种率在15%以下),同时在文本组件中引用提示字段的数据计算出全球接种数据予以展示。
144756
(4)折线图、漏斗图、金字塔、柱状图分别对应人口、总接种率、累计接种人数、每日接种人数。可以清楚的看到不同角度的疫苗接种计划更加先进的国家和地区。
144757
144758
144759
(5)最后活学活用,在仪表盘选择文本下拉列表进行可视化查询,得到时间变化下的接种情况。
144760 https://bbs.fanruan.com/file://C:UsersK556AppDataLocalTempksohtml6896wps16.jpg
(6)最终结果呈现的页面布局 145122三、参赛总结 这次比赛让我了解到BI行业。FineBI能快速得到优质的可视化效果。内置的图表种类繁多、内置函数还有有详细的注释和例子(很多Python函数,很熟悉),仪表盘总体布局设置多样化,还有很多方向的扩展。由于电脑性能不太好我只能尽量做,引入·Python对数据进行预处理再放到FineBI中分析。总之我还是比较满意自己能坚持下来独自完成,觉得做的很有限,不指望能得奖哈哈,希望各位老师多多指导。附上我的仪表盘链接:http://localhost:37799/webroot/decision/link/A3uo vaccines.pdf (1.16 M)