如何在Power BI中使用Python脚本实现插补?

时间:2019-05-20 08:38:18

标签: python powerbi powerquery

我正在尝试运行经过验证的Python脚本在PowerBI中估算数据。最初将数据整合到Power BI中,然后导出到Excel,并使用Python进行插补和分析。

现在,我想将Python中的代码用于Power BI的查询编辑器中,以便可以将估算的数据直接输入Power BI并使用其可视化效果,但是会出错。

我尝试粘贴Power BI中Python中具有的相同代码-我认为语法可能存在问题。

if

我期望一个带有插补值的表,但结果是出现此错误:

dataset=#"PreviousStep"

import pandas as pd

byISO = dataset.groupby(['country ISO'])
byIG = dataset.groupby(['WBG Income Group'])
bytIG = dataset.groupby(['WBG Income Group','Year'])
bytR = dataset.groupby(['UN Sub-Region','Year'])

#Country-level
#Filling up and down
dataset[['col1','col2']] = byISO[['col1','col2']].fillna(
        method='ffill')
dataset[['col1','col2']] = byISO[['col1','col2']].fillna(
        method='bfill')
#Interpolation
dataset[['col1','col2']] = byISO[['col1','col2']]\
         .apply(lambda i: i.interpolate(method='linear', limit_area='inside'))
#Extrapolation (FILLING DOWN CURRENTLY)
dataset[['col1','col2']] = byISO[['col1','col2']]\
         .apply(lambda i: i.interpolate(method='linear', limit_area='outside'))
#Median
dataset[['col1','col2']] = byISO[['col1','col2']]\
    .transform(lambda i: i.fillna(i.median()))

#Group-level
#Median
dataset[['col1','col2']] = byIG[['col1','col2']]\
    .transform(lambda i: i.fillna(i.median()))
#Yearly median
dataset[['col1','col2']] = bytIG[['col1','col2']]\
    .transform(lambda i: i.fillna(i.median()))

#Region-level
#Yearly median
dataset[['col1','col2']] = bytR[['col1','col2']]\
    .transform(lambda i: i.fillna(i.median()))
#No level (All)
#0
dataset[['col1','col2']].fillna(0)

1 个答案:

答案 0 :(得分:0)

如果您查看错误输出,它会告诉您

ImportError: Missing required dependencies ['numpy']

这意味着您必须导入numpy以及其他导入语句,如@prathik在评论中所述。您可以在microsoft

中找到示例

import numpy

如果这样不起作用,则需要确保使用以下方式安装

pip install numpy

大图

您应该考虑将脚本放置在仪表板之前-以便其他仪表板也可以使用转换后的数据。

通常,我建议在特定目的的数据仓库或集市中进行所有数据转换。但是,这全都取决于这是一次练习还是将在生产中使用。