zoukankan      html  css  js  c++  java
  • Power BI Python 在Power BI Desktop中使用Python导入数据

    前面我有写过一篇博文,Power BI Python 在Power BI Desktop中使用Python绘图,今天我来使用Python脚本来生成Power Query的查询数据

    我们一般都使用第三方的IDE先调试好Python代码,然后再在Power BI Desktop运行,我这里使用的是Pycharm,至于该IDE大家到网上找安装包吧。

     

    先看看我们的Python代码内容:

    image

    import pandas as pd
    import numpy as np
    
    df = pd.DataFrame(
        {
            'key1': list('aabba'),
            'key2': ['one', 'two', 'one', 'two', 'one'],
            'data1': np.random.randn(5),
            'data2': np.random.randn(5)
        });
    
    print(df)

    注意:最后一行print(df)并非是必需的,我只是为了在Pycharm编辑环境里查看下输出的结果而已,在贴到Power BI Desktop的时候并不需要该行。Power BI Desktop会得到Python代码中数据类型是DataFrame的变量数据。

     

    接下来我们看看如何将代码贴入Power BI Desktop运行,操作可以通过2种方式,

    其一:图形界面里找“Python脚本”选项,其二:空查询中使用Python.Execute()函数

     

    “Python脚本”

    我们首先看第一种运行方式:

    1、在Power Query编辑器中依次点击“新建源/更多…”,随后依次选择“其它/Python脚本”,点击确定按钮,然后将Python代码贴入窗口文本框里。

    image image

    image

    2、 点击确定按钮后,会打开导航器窗口,左侧会列出数据类型为DataFrame的变量,只有勾选了一项之后,右下角的确定按钮才变得可用

    image

    image

     

    Python.Execute()函数

    接下来我们来看第二种方式,直接在空查询中运行函数Python.Execute()函数

    1、在Power Query管理器中依次点击“主页/新建源/空查询”,公式编辑栏输入Py,将会自动出现M函数列表智能提示(我是今天刚更新了Power BI Desktop,我之前的版本没有M语言的智能提示功能。)

    image image

    2、该函数,接受一个字符串参数,所以我们要用成对的双引号,然后再贴Python代码到里面,然后按下回车键,此时会出现“编辑权限”按钮,点击之后,弹出“脚本之行”对话框,点击运行按钮即可

    image image

    image


    多个DataFrame变量

    运行Python脚本后,Power BI会提取所有数据类型为DataFrame的变量出来,我们上面只有一个变量,那么我们改下代码来看看,

    直接拷贝第一个变量,然后改下2个变量的名字

    import pandas as pd
    import numpy as np
    
    df1 = pd.DataFrame(
        {
            'key1': list('aabba'),
            'key2': ['one', 'two', 'one', 'two', 'one'],
            'data1': np.random.randn(5),
            'data2': np.random.randn(5)
        });
    
    df2 = pd.DataFrame(
        {
            'key1': list('aabba'),
            'key2': ['one', 'two', 'one', 'two', 'one'],
            'data1': np.random.randn(5),
            'data2': np.random.randn(5)
        });

    我将之前那个使用Python.Execute()函数公式里的参数直接替换为上面代码,然后运行之后会看到下面的结果

    image

  • 相关阅读:
    一周最新示例代码回顾 (4/23–4/29)
    优酷的投票
    Google API获取用户信息
    CPU性能分析
    有意思的排序算法快速排序
    http响应LastModified和ETag以及asp.net web api实现
    java/C#多态漫谈
    有意思的排序算法插入排序
    [Architecture Pattern] Repository
    50个jQuery代码段帮你成为更出色的JS开发者
  • 原文地址:https://www.cnblogs.com/alexywt/p/11402877.html
Copyright © 2011-2022 走看看