美文网首页Python 运维机器学习大数据
两小时搭建基于Power Bi的数据可视化分析平台

两小时搭建基于Power Bi的数据可视化分析平台

作者: 安和然 | 来源:发表于2017-12-03 15:08 被阅读140次

    手里有大量的统计数据,但都是零散的Excel表,不利于查看,分析和统计。原先在Superset上部署了一个可视化平台,但同事反映不会用,主要是对数据库的查询语句,数据关系不了解,导致难上手,就想能不能有一种更简单的方法,能让新手也自助开展分析。

    对于搭建数据可视化分析平台,主要有以下必个步骤:

    处理流程图.png

    ▌数据收集

    就是把基础数据收集起来,我的基础数据都是Excel表,每个月一份。放在同一个目录下。

    ▌数据整理

    这个需要使用python的pandas库,对数据进行抽取、转换、整理后直接放到一个文件中。

    其中有几个技巧:

    filenames = glob.glob(filedir)   #遍历文件夹下的所有文件 ,返回文件名列表
    

    遍历文件夹下的所有文件 ,返回文件名列表

    我这个例子中,共有两张表,分别用两个函数提取,并保存为两个文件。

    # -*- coding: utf-8 -*-
    """
    Created on Mon Nov 27 12:31:51 2017
    
    @author: javawilder
    """
    
    import pandas as pd
    import numpy as np
    from pandas.io import sql
    import glob
    
    def getJigou(filedir,savefilename):
        farmes = pd.DataFrame(columns=['机构名称','存款余额','比上月增减额','存款比上月增减幅','存款比年初增减额','存款比年初增减幅','存款增减额同比多增额','存款同比增减额','存款同比增减幅','贷款余额','贷款比上月增减额','贷款比上月增减幅','贷款比年初增减额','贷款比年初增减幅','贷款增减额同比多增额','贷款同比增减额','贷款同比增减幅','贷款1月至今累放','贷款1月至今累收','存贷比','时间'])
        filenames = glob.glob(filedir)
        for filename in filenames:
            df = pd.read_excel(filename, sheetname = u'分机构',encoding='unicode')
            month = str(df.loc[0].values[0:1])
            data = df.ix[6:21,0:20]
            data.columns = ['机构名称','存款余额','比上月增减额','存款比上月增减幅','存款比年初增减额','存款比年初增减幅','存款增减额同比多增额','存款同比增减额','存款同比增减幅','贷款余额','贷款比上月增减额','贷款比上月增减幅','贷款比年初增减额','贷款比年初增减幅','贷款增减额同比多增额','贷款同比增减额','贷款同比增减幅','贷款1月至今累放','贷款1月至今累收','存贷比']
            data.fillna(0,inplace=True)
            data['时间'] = month[19:27].replace(',','').replace(' ','-')
            farmes = farmes.append(data,ignore_index=True)
        farmes.to_csv(savefilename,encoding='utf-8')
        return farmes
    
    def getFenxian(filedir,savefilename):
        farmes = pd.DataFrame(columns=['地区','存款月末余额','存款比年初增减额',    '存款比年初增减%', '存款同比增减额','存款同比增减%',    '存款占比%','贷款月末余额','贷款比年初增减额','贷款比年初增减%','贷款同比增减额',   '贷款同比增减%',  '贷款占比%','存贷比','同比增减额%','时间'])
        filenames = glob.glob(filedir)
        for filename in filenames:
            df = pd.read_excel(filename, sheetname = u'分县', encoding='unicode')
            month = str(df.loc[0].values[0:1])
            data = df.ix[4:14,0:15]
            data.columns = ['地区','存款月末余额','存款比年初增减额',   '存款比年初增减%', '存款同比增减额','存款同比增减%',    '存款占比%','贷款月末余额','贷款比年初增减额','贷款比年初增减%','贷款同比增减额',   '贷款同比增减%',  '贷款占比%','存贷比','同比增减额%']
            data.fillna(0,inplace=True)
            data['时间'] = month[19:27].replace(',','').replace(' ','-')
            farmes = farmes.append(data,ignore_index=True)
        farmes.to_csv(savefilename,encoding='utf-8')
        return farmes
    
    a = getJigou("data/*.xls",u'分机构数据.csv')
    b = getFenxian("data/*.xls",u'分县数据.csv')
    

    运行一下,就可以得到整理后的数据,以后有增加的数据,只要把新文件加到数据里,就可以用了。

    ▌数据分析

    这里给大家介绍一款神器Power BI。

    Power BI是微软官方推出的可视化数据探索和交互式报告工具。说人话,就是一款能把丑逼静态数据瞬间变成屌炸动态报表的神器。

    image.png

    也就是说,现在我们可以把Excel中的数据一键导入到Power BI中。然后通过简单的图表配置,生成一份超高颜值的报表:

    image.png

    大家可以先下载一个Power BI桌面版试玩,具体方法可以参考网上教程。

    image

    ▌数据分析及可视化

    先把刚刚在python中生成的数据导入Power Bi

    1.jpg

    先选择编辑查询,对数据进行查询整理,设置标题行。

    在建模中,把“汇总方式”改为未汇总,便于下一步分析。

    接下来,就可以选择不同类型的图表,把把不同字段的数据放到里边,就可以得到分析结果。

    4.jpg 3.jpg 2.jpg 1.jpg 5.jpg 3.jpg 2.jpg 1.jpg

    通过可视化的分析,能分析出很多之前没有看出的东西。

    本来要写几天的分析文章,半天就搞定了。

    相关文章

      网友评论

        本文标题:两小时搭建基于Power Bi的数据可视化分析平台

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