Am I correct that this second table needs to be a Pandas Dataframe?
是Is this the expected behaviour?
是的,但为什么?
您可以使用Python构造许多变量类型,并且要求powerbi识别所有变量类型是非常困难的。而不是让powerbi识别一些变量类型,似乎为了简单起见,开发人员决定在DataFrames处划一条线。我个人认为这是一个明智的决定。这样,如果出了问题,您就知道这不是数据类型问题。在
一些细节:
转到powerquery编辑器并使用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个变量:
^{pr2}$
具体地说,我没有在PowerBI中运行print()命令,而是在Spyder中。
现在,如果您单击OK并执行The Power Query Editor中的第一个代码段,您将看到一个表,其中显示在Applied Steps下可以使用哪个变量:
dataset是在插入Python代码片段时由deflult构造的,而var2和{}是在代码中构造的。所有的数据帧都是。即使是var5,它是pandas Series,也不能进行进一步的编辑。在
我希望这有帮助。如果没有,请不要犹豫让我知道!在
编辑:
关于:After these computations, I want to return the dataset and another
table to the Power Query editor.
您可以加载任何表并使用Python进行编辑。如果您希望保留表的一个版本,并在另一个表上进行进一步的编辑,那么您应该看看Edit python script used as Data entry in Power BI