我正在Power的Power编辑器中运行Python脚本来转换和处理我的数据。在这些计算之后,我希望将dataset和另一个表返回给Power Query编辑器。我是否正确地说,这第二张桌子需要是一个潘达斯达菲?
只有在将第二个表从numpy.ndarray转换为pandas.DataFrame时,Power才会将其识别为表输出(脚本后的结果)。这是预期的行为吗?除了以外的其他Python对象可以传递给Power吗?
发布于 2019-10-16 13:01:34
我是否正确地说,这第二张桌子需要是一个潘达斯达菲?
,yes,
这是预期的行为吗?
是的,但为什么??
您可以使用Python构造许多变量类型,并且要求Power能够识别所有这些变量类型是很有必要的。与其让Power识别某些变量类型,而且为了简单起见,开发人员似乎已经决定在DataFrames上划清界限。就我个人而言,我认为这是一个明智的决定。这样,如果有任何问题发生,您就会知道这不是一个数据类型问题。
一些细节:
转到Power并使用Enter Data > OK插入一个空表。然后使用Transform > Run Python Script插入下面的脚本
# 'dataset' holds the input data for this script
import numpy as np
import pandas as pd
var1 = np.random.randint(5, size=(2, 4))
var2 = pd.DataFrame(np.random.randint(5, size=(2, 4)))
var3 = 3
var4 = pd.DataFrame([type(var3)])
var5 = pd.Series([type(var3)])此片段构造以下类型的5个变量:
print(type(var1))
<class 'numpy.ndarray'>
print(type(var2))
<class 'pandas.core.frame.DataFrame'>
print(type(var3))
<class 'int'>
print(type(var4))
<class 'pandas.core.frame.DataFrame'>
print(type(var5))
<class 'pandas.core.series.Series'>具体而言,我不是在print()中运行PowerBI命令,而是在Spyder中运行这些命令。现在,如果您单击OK并在The Power Query Editor中执行第一个片段,您将看到一个表,显示在Applied Steps下哪个变量是可用的

dataset是在插入Python片段时由defult构造的,而var2和var4是在代码中构造的。所有的都是数据。即使是var5,也是一个pandas Series,也无法进行进一步的编辑。
我希望这能帮到你。如果没有,那就毫不犹豫地让我知道!
编辑:
关于:
在这些计算之后,我希望将dataset和另一个表返回给Power Query编辑器。
您可以加载任何表并使用Python编辑它。如果您想保留该表的一个版本,并对另一个表进行进一步编辑,则应该查看在Power中编辑用作数据输入的python脚本
https://stackoverflow.com/questions/57196327
复制相似问题