首页 > 解决方案 > 如何使用 Python 在 PowerBI 中制作可重现的数据样本?

问题描述

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

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

标签: pythonrandompowerbi

解决方案


我将向您展示如何构建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])

电源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。它是以 pandas 数据框的形式构建的。最后一个表df_metadata只是对我们真正感兴趣的数据集的简要描述:df_dataset但我将其添加到组合中是为了说明您在代码段中制作的所有数据帧都可供您使用。Table您通过单击名称旁边的来选择要继续处理的表。

在此处输入图像描述

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

在此处输入图像描述

从这里您可以:

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

在此处输入图像描述


推荐阅读