当前位置: 首页 > 面试题库 >

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

沈开畅
2023-03-14
问题内容

这是一个自我回答的帖子。为什么?因为缺少数据样本,所以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])

Power 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. 复制原始数据Reference框,Table并通过右键单击在下创建一个,以继续使用其他版本Queries

在此处输入图片说明



 类似资料:
  • 我有一个具有以下格式的数据集: 我需要转换: 我试着用 附件包:“dplyr” 从“package:stats”屏蔽了以下对象: 滤波器,滞后

  • 现在,我从Visual Studio 2015提供的默认ASP.NET核心Web应用程序项目模板开始,包括对单个用户帐户的身份验证。 大多数(如果不是所有)生成的控制器都返回视图,通常遵循以下模式: 此方法返回一个您可以看到的视图,当web客户机请求时,一切都很好。但是如果游戏正在向相同的方法发送请求呢?在这种情况下,需要一个JSON响应(不是view/html文档),我的问题是在ASP.NET核

  • 问题内容: 是2D数组。我想要一个新变量,其值与数组相同。此外, 使用Y进行的任何其他操作都不应影响X的值。 在我看来使用起来很自然。但是它不适用于数组。如果我这样做,然后更改y,x也会更改。我发现问题可以这样解决: 但是它不适用于2D阵列。例如: 返回。如果我替换为,这也无济于事。 有人知道什么是正确且简单的方法吗? 问题答案: 尝试这个: 我不确定,也许就足够了。

  • 有一个spark_df有许多重复如下: 现在我想将这个spark_df转换如下: 我在熊猫身上知道这一点。但是我正在努力学习火花,这样我就可以把它实施到大数据中。如果有人能帮忙,那就太好了。

  • 本文向大家介绍如何使用Tensorflow使用Python查看矢量化数据的样本?,包括了如何使用Tensorflow使用Python查看矢量化数据的样本?的使用技巧和注意事项,需要的朋友参考一下 Tensorflow是Google提供的一种机器学习框架。它是一个开放源代码框架,可与Python结合使用,以实现算法,深度学习应用程序等等。它用于研究和生产目的。 可以使用下面的代码行在Windows上

  • 问题内容: 我想对Python中的函数进行深拷贝。该 副本 模块是没有帮助的,根据文件,其中说: 该模块不复制诸如模块,方法,堆栈跟踪,堆栈框架,文件,套接字,窗口,数组或任何类似类型的类型。它通过不变地返回原始对象来“复制”函数和类(浅层和深层)。这与泡菜模块处理这些食物的方式兼容。 我的目标是使两个函数具有相同的实现,但具有不同的文档字符串。 那怎么办呢? 问题答案: FunctionType