如何使用Python在PowerBI中制作可重现的数据样本?

发布于 2021-01-29 15:05:29

这是一个自我回答的帖子。为什么?因为缺少数据样本,所以Power BI中的许多问题都无法回答。另外,许多人似乎想知道如何使用Python在Power
BI中编辑数据表。当然,全世界都需要Power
BI中Python的更广泛使用。有人认为您必须将Python代码段应用于其他位置加载的现有表。我对本文的回答将向您展示如何在原本为空的Power
BI文件中用几行代码构建一个(相当大的)数据样本。

因此,如何在Power BI中使用Python构建数据样本并对其进行更改?

关注者
0
被浏览
88
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    我将向您展示如何构建10000包含分类值和数值的行的数据集。我将Python库numpypandas分别用于数据生成和表操作。下面的代码片段仅从两个列表10000时间中绘制了一个随机元素,以构建带有一些街道和城市名称的两列,并将一个随机数列表添加到混合中。然后,我使用熊猫将数据组织到数据框中。在中使用Python
    Power BI Power Query Editor,您的输入必须是表格,而输出则必须是pandas数据框。

    Python片段:

    import numpy as np
    import pandas as pd
    
    np.random.seed(123)
    streets=['Broadway', 'Bowery', 'Houston Street']
    cities=['New York', 'Chicago', 'Baltimore']
    
    rows = 1000
    
    lst_cities=np.random.choice(cities,rows).tolist()
    lst_streets=np.random.choice(streets,rows).tolist()
    lst_numbers= np.random.randint(low=0, high=100, size=rows).tolist()
    df_dataset=pd.DataFrame({'City':lst_cities,
                          'Street':lst_streets,
                          'ID':lst_numbers})
    df_metadata = pd.DataFrame([df_dataset.shape])
    

    Power BI:

    在Power BI Desktop中,单击Enter Data以转到Power Query Editor。在下面的对话框窗口中,除了单击,什么都不要做OK。结果是一个空表和下面的两个步骤Applied steps

    在此处输入图片说明

    现在,使用Transform > Run Python Script,在上面插入代码段,然后单击OK以获取以下信息:

    在此处输入图片说明

    现在,您有了一个包含2列3行的初步表。这是在Power
    BI中实现Python的相当整洁的细节。运行代码段后,您可以使用以下三种不同的数据集。Dataset是默认构造的,但是由于我们从一个空表开始就为空。如果我们从其他数据开始,的第一行Run Python Script说明了此表的用途# 'dataset' holds the input data for this script。它以熊猫数据框的形式构造。上一张表df_metadata只是对我们真正感兴趣的数据集的简短描述:df_dataset,但我将其添加到了混合中,以说明您在代码段中创建的所有数据框都将可用。通过单击Table名称旁边的来选择要继续处理的表。

    在此处输入图片说明

    就是这样!现在,您有了一个混合数据类型表,可以继续使用Python或Power BI本身进行工作:

    在此处输入图片说明

    在这里您可以:

    1. 使用任何菜单选项继续在桌子上工作
    2. 插入另一个Python脚本
    3. 复制原始数据Reference框,Table并通过右键单击在下创建一个,以继续使用其他版本Queries

    在此处输入图片说明



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看