美文网首页
Python+PowerBi绘制全球各地区疫情动态图

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

作者: AlphaGame | 来源:发表于2020-03-17 11:12 被阅读0次

    先看效果

    主要使用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文件后,直接进行刷新即可完成最新数据更新及动图更新。

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

    相关文章

      网友评论

          本文标题:Python+PowerBi绘制全球各地区疫情动态图

          本文链接:https://www.haomeiwen.com/subject/qlmzehtx.html