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

ves*_*and 3 python random powerbi

这是一个自我回答的帖子。为什么?因为 Power BI 中的许多问题由于缺乏数据样本而没有得到解答。此外,许多人似乎想知道如何使用 Python 在 Power BI 中编辑数据表。当然,世界需要在 Power BI 中更广泛地使用 Python。有些人认为您必须将 Python 代码段应用于加载到其他地方的现有表。我对这篇文章的回答将向您展示如何在一个空的 Power BI 文件中使用几行代码构建一个(相当大的)数据样本。

那么,如何在 Power BI 中使用 Python 构建数据示例并对其进行更改?

ves*_*and 5

我将向您展示如何构建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])
Run Code Online (Sandbox Code Playgroud)

电源 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. 复制您的原始数据ReferenceTable并通过在 下右键单击创建一个来继续处理另一个版本Queries

在此处输入图片说明