这是一个自我回答的帖子。为什么?因为缺少数据样本,所以Power BI中的许多问题都无法回答。另外,许多人似乎想知道如何使用Python在Power BI中编辑数据表。当然,全世界都需要Power BI中Python的更广泛使用。有人认为您必须将Python代码段应用于其他位置加载的现有表。我对本文的回答将向您展示如何在原本为空的Power BI文件中用几行代码构建一个(相当大的)数据样本。
因此,如何在Power BI中使用Python构建数据样本并对其进行更改?
我将向您展示如何构建10000包含分类值和数值的行的数据集。我将Python库numpy和pandas分别用于数据生成和表操作。下面的代码片段仅从两个列表10000时间中绘制了一个随机元素,以构建带有一些街道和城市名称的两列,并将一个随机数列表添加到混合中。然后,我使用熊猫将数据组织到数据框中。在中使用Python Power BI Power Query Editor,您的输入必须是表格,而输出则必须是pandas数据框。
10000
Power BI Power Query Editor
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:
Enter Data
Power Query Editor
OK
Applied steps
现在,使用Transform > Run Python Script,在上面插入代码段,然后单击OK以获取以下信息:
Transform > Run Python Script
现在,您有了一个包含2列3行的初步表。这是在Power BI中实现Python的相当整洁的细节。运行代码段后,您可以使用以下三种不同的数据集。Dataset是默认构造的,但是由于我们从一个空表开始就为空。如果我们从其他数据开始,的第一行Run Python Script说明了此表的用途# 'dataset' holds the input data for this script。它以熊猫数据框的形式构造。上一张表df_metadata只是对我们真正感兴趣的数据集的简短描述:df_dataset,但我将其添加到了混合中,以说明您在代码段中创建的所有数据框都将可用。通过单击Table名称旁边的来选择要继续处理的表。
Dataset
Run Python Script
# 'dataset' holds the input data for this script
df_metadata
df_dataset
Table
就是这样!现在,您有了一个混合数据类型表,可以继续使用Python或Power BI本身进行工作:
在这里您可以:
Reference
Queries