python - 如何使用 Python 在 PowerBI 中制作可重现的数据样本?
问题描述
这是一个自我回答的帖子。为什么?因为缺乏数据样本,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 数据框。
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 本身进行处理:
从这里您可以:
- 使用任何菜单选项继续在您的桌子上工作
- 插入另一个 Python 脚本
- 复制您的原始数据框并
Reference
通过右键单击创建一个Table
以继续处理另一个版本Queries
:
推荐阅读
- python - 如何使用 Tkinter 在表中添加值
- javascript - 如何检查类属性是否包含特定类?
- sql - 如何在 T-SQL 中操作字符串?
- excel - VBA 将参数移交给其他潜艇(构建自己的片段工具箱)
- javascript - 为什么 ol.proj.transform 不起作用?
- python - Airflow:有没有办法在 dag 之外将操作员分组?
- bar-chart - recharts条形图中的数据表
- php - EFS 吞吐量高利用率扼杀了 PHP 文件处理
- google-analytics - 如何查看事件标签和类别?
- pyqt5 - VTK Chart 与 PyQt 交互的问题