Python+PowerBi绘制全球各地区疫情动态图

2020-03-17  本文已影响0人  AlphaGame

先看效果

主要使用Python调用现成的接口获取并处理数据,然后导入到PowerBi中通过Animated Bar Chart Race可视化控件绘制。

数据获取

这里使用的是Python,通过AkShare的数据接口,获取全球各地区疫情历史数据。

import akshare as ak

epidemic_df = ak.epidemic_history()

数据处理

    通过第一步获取的数据,我们可以看到,它包含的字段比较全面。考虑到我们做的动态图是全球各地区(除了中国之外)累积确诊数的变化,因此我们需要对原始数据进行相关处理,具体如下:

#只取日期、国家和确诊数,其他字段不需要

epidemic_df = epidemic_df[['date','country','confirmed']]

#在这里哦只选择2020年1月20日之后数据

epidemic_df= epidemic_df[epidemic_df['date']>='2020-01-20']

#过滤中国数据

epidemic_df = epidemic_df[epidemic_df['country']!='中国']

数据导入Powerbi

    通过上面 数据获取及处理后,我们整合好代码。

然后打开PowerBi,在获取数据中选择Python脚本,如下图:

键入整合好的全部代码段

import akshare as ak

epidemic_df = ak.epidemic_history()

#过滤其他参数

epidemic_df = epidemic_df[['date','country','confirmed']]

#只选择2020年1月20日之后数据

epidemic_df = epidemic_df[epidemic_df['date']>='2020-01-20']

#过滤中国数据

epidemic_df = epidemic_df[epidemic_df['country']!='中国']

确定后,会自动进行数据连接

数据导入后,新增一列“序列”

序列 = FORMAT([date],"yyyymmdd")

制作动态图

插件添加

数据加载完成后,需要在 AppSource中找到插件 Animated Bar Chart Race

动态图绘制

    将相关字段拖入到对应的模块即可完成动态图的绘制

其他参数设置

    常见参数有 显示前N个,动图序列(时间)变化速度,标题,背景等等。具体可以自行探索

自动刷新数据

    因为数据来源是Python脚本,因此当你打开该pbix文件后,直接进行刷新即可完成最新数据更新及动图更新。

最后,希望疫情早日结束。加油,全球同胞们~

上一篇下一篇

猜你喜欢

热点阅读