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

问题描述 投票:0回答:1

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

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

python random powerbi
1个回答
2
投票

我将向您展示如何构建包含分类和数字值的10000行的数据集。我分别使用Python库numpypandas进行数据生成和表操作。下面的代码段简单地从两个列表10000中绘制了一个随机元素,以建立带有一些街道和城市名称的两列,并将一个随机数列表添加到混合中。然后,我使用熊猫将数据整理到一个数据框中。在Power BI Power Query Editor中使用Python,您的输入必须是表格,而输出必须是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(streets,rows).tolist()
lst_streets=np.random.choice(cities,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下的两个步骤:

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

从这里您可以:

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

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.