Power BI中配置Python运行环境,及正确设置环境变量的方法,见链接:Power BI中配置Python运行环境,及相关错误问题解决_HGData的专栏-CSDN博客
1、点击Power BI 右边可“Python visual”,将需要作图的数据勾选上,这里是字段:x、y
此时下面会出现编辑框:提示将x,y赋值给了dataset,后续将用dataset 进行操作
2、输入以下代码,点击运行按钮,则会出现用python作的图
from matplotlib import pyplot as plt
x = dataset['x']
y = dataset['y']
plt.plot(x, y, color='b', linestyle='-', linewidth=2)
plt.show()
New Source -> More -> Other -> Python Script
输入python脚本:
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
df = pd.read_excel(r'C:\Users\Desktop\python\test.xlsx')
x_train=np.array(df['x']).reshape(-1,1)
y_train=np.array(df['y']).reshape(-1,1)
# 训练线性模型
lr=LinearRegression()
lr.fit(x_train,y_train)
print("正规方程方法的系数:",lr.coef_)
# 预测结果
y_p = pd.DataFrame(lr.predict(x_train),columns=['y_p'])
然后会出现,数据选择界面(python代码中的所有DataFrame结构的数据都会显示),然后选择需要的数据,导入到Power Query 中
在Power Query中选择需要进行处理的表,点击“Transform” -> “Py”
出现代码框,输入代码,
注意:区别只是将读入df的代码修改成:"df = dataset",因为power query将此时的数据 赋值给了dataset
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
df = dataset # 将读取数据的代码修改成这样
x_train=np.array(df['x']).reshape(-1,1)
y_train=np.array(df['y']).reshape(-1,1)
# 训练线性模型
lr=LinearRegression()
lr.fit(x_train,y_train)
print("正规方程方法的系数:",lr.coef_)
# 预测结果
y_p = pd.DataFrame(lr.predict(x_train),columns=['y_p'])
出现以下结果,此时可以对需要的“table”进行展开处理,
注意:这里可以看出,python中的dataset 对应 power query 中前一步处理后的数据:"Changed Type";所以由此可见,可以在query中运用python对数据进行预处理