将Python集成到Power BI中:充分利用两者
Power BI是Microsoft的专有产品,用于执行商业智能任务。自2018年以来,Power BI使集成R和Python等统计和通用软件成为可能。
它对您有什么帮助?如果您是商务智能(BI)专业人员,并且想要执行某些数据科学任务,则必须依靠数据科学团队。另一方面,Python开发人员需要依赖BI团队以可呈现的格式(也许在仪表板中)展示其分析。但是,Power BI摆脱了这种相互依赖性,因为您现在可以在集成环境中运行Python。
将python与Power BI集成
新时代的数据科学家必须了解解决复杂业务问题的完整流程。通常,这包括收集,清理,探索,转换数据以对未来事件进行预测。最后,分析结果显示在仪表板或报告中。因此,商务智能专业人员和预测建模专家的传统角色正在变得模糊。
这增加了对将要在分析管道中执行所有上述任务的综合工具的需求。如果此工具来自Excel的制造商,那就没有比它更好的了。因此,Power BI是执行嵌入式分析的新话题。
在本教程中,我们将了解Power BI和Python的集成功能,并动手执行独立系统无法轻松完成的某些任务。
注意:我们假设您已使用Power BI和Python。有关Power BI的初学者友好介绍,请查看博客:
适用于Power BI初学者的10个有用的
数据分析表达式(DAX)函数
目录
设置集成环境
使用Python脚本导入数据
使用Power Query转换数据
在Power BI中使用Python的统计功能
生成分析报告
设置集成环境
第一步是建立并运行集成环境。为此,您应该在计算机上安装Python发行版。为此,我更喜欢Python的基本发行版。对于所有与编码有关的任务,我都使用Anaconda。但是,将Anaconda与Power BI集成可能是一项复杂的工作。
安装后,集成环境需要您安装四个Python软件包。它们是Pandas(用于数据处理和分析),Matplotlib和Seaborn(用于绘图)和Numpy(用于科学计算)。
您可以在命令行工具中使用pip命令来安装这些软件包。
点安装熊猫
pip安装matplotlib
点安装numpy
pip安装seaborn
安装这些软件包后,我们必须在Power BI中启用Python脚本。您可以打开Power BI来检查它是否自动检测到计算机上安装的Python发行版。转到文件->选项和设置->选项。在“ Python脚本”下,您应该看到计算机上安装了Python的主目录。
将Python与Power BI集成:在Power BI中启用Python脚本
使用Python脚本导入数据
现在,您可以运行快速测试来检查Python是否在Power BI堆栈中工作。首先,您可以使用Python脚本在Power BI中导入一个小的数据集。
为此,转到主页功能区,单击获取数据,然后选择其他。除了使用R或Python之类的脚本外,本节还允许您从各种各样的源列表中导入数据,尤其是Web,Hadoop分布式文件系统(HDFS),Spark等。在这里,我们将导入存储在我的计算机上的用户流失预测数据集。
将Python与Power BI集成:在Power BI中获取数据
单击连接。它将打开一个部分,您可以在其中编写以下Python脚本:
将Python与Power BI集成:Python脚本
单击确定 将加载导航器,并要求您选择搅拌数据,然后单击加载。您可以进入数据视图检查是否已加载数据。现在,您准备使用Power Query执行一键式数据转换。
使用Power Query转换数据
那些熟悉Python学习曲线的人会认识到以下事实:转换数据或多或少是一项简单的活动,但对于一个仅仅从事数据科学之旅的人而言,这可能并不容易。
但是,使用Power Query Editor,我们只需单击即可定型和转换数据。不仅如此,Power BI还保留在进行任何分析之前记录到数据转换管道中的所有操作的记录。为了演示简单的数据转换功能,我们将展示如何使用Power Query。
将数据加载到Power BI中后,单击“主页”选项卡下的“转换数据”以打开“查询编辑器”。
将Python与Power BI集成:查询编辑器
这将打开“查询编辑器”,并为您提供许多选项来执行数据的清理,重塑和转换。
将Python与Power BI集成:Power Query窗口
我们会将customer_nw_category变量转换为文本字段,因为它们表示客户净值类别,并且不应将其用作连续变量。
为此,我们将选择该列,转到“数据类型” ,然后将数据类型更改为“文本”。Power Query在“应用步骤”部分下记录了此步骤。重命名此步骤是一个好习惯,以方便召回。我们将其重命名为“ nw_cat Text”。同样,我们将搅动 列转换为逻辑变量,代表1(搅动)为True,搅动0(不搅动)为False,并将步骤重命名为“搅动– True / False”。
将Python与Power BI集成:Power Query步骤
完成转换步骤后,单击“关闭并应用”(位于左上角)以将这些转换应用于数据。
在Power BI中使用Python的统计信息
尽管Power BI具有完善的可视化库,但在其中创建相关矩阵并不是一件容易的事。然而,相关矩阵热图是数据分析报告不可或缺的组成部分。
在本节中,我们将演示如何使用Python的相关 函数创建相关矩阵热图。此热图将显示在Power BI的“报告”部分中。
转到Power BI中的“报告”部分,然后单击“可视化”部分下由Py 符号表示的Python视觉。在左侧,您会看到一个空的Python视觉效果,一个Python脚本编辑器在底部弹出。换句话说,Power BI使您可以选择使用脚本创建可视化。
您会注意到,当前,“值”字段为空。
为了说明相关热图,我们将所有连续变量输入“值” 字段,即年龄,所有平均每月余额列,当期和上个月余额以及当月和上个月交易列,若干因数和年份(关联时间)。这是重要的一步。否则,Power BI将不会将这些变量识别为可视化的一部分。
当我们将变量放入“值” 字段时,Python脚本会自动填充以下代码:
#始终会执行以下代码来创建数据框并删除重复的行,并充当脚本的序言:
#数据集= pandas.DataFrame(年龄,average_monthly_balance_prevQ,average_monthly_balance_prevQ2,current_balance,current_month_balance,current_month_credit,current_month_debit,从属,previous_month_balance,previous_month_credit,previous_month_end_balance,previous_month_debit,vintage)
#数据集=数据集。drop_duplicates()
#在此处粘贴或键入您的脚本代码:
我们将使用Python编写一个短代码,以使用seaborn包创建一个相关(皮尔森系数)矩阵热图。
#导入图表库matplotlib和seaborn
导入matplotlib.pyplot作为plt
将seaborn导入为sns
#在数据集上创建相关矩阵
corr =数据集.corr()
#创建相关矩阵的热图
sns.heatmap(corr,cmap =“ YlGnBu”)
#显示情节
plt.show()
最后,使用“运行脚本” 按钮运行此脚本后,它将生成相关矩阵热图。
相关性
生成分析报告
在分析热图之后,我们可以得出以下结论:
对于所有客户
年龄和家属人数与其他变量没有关联
最近两个季度的平均每月余额具有中等程度的相关性
上一季度的平均每月余额与当月余额和上月余额高度相关
我们可以为那些已经搅动过的客户提供此热图,并将其与没有搅动过的客户进行比较。因此,我们使用蓝色框应用流失率= True或False 的过滤器来分别观察两组客户的热图。
下图显示了尚未搅拌的客户的图片。但是,对于这两种类型的客户,情况就不同了。未搅动的客户在最近两个季度的平均每月余额与当前和前几个月的余额之间具有更高的相关性。
不流失
而对于搅拌过的客户,最近两个季度的平均月度余额与当前和前几个月的余额之间存在低到中等的相关性。
搅动
因此,此分析说明了我们如何从分析数据中得出一些有用的见解,以预测搅动客户的行为。
尾注
在本文中,我们学习了如何在Power BI发行版中集成Python。我们使用Power BI的报告功能以及Python的分析功能来构建分析报告。
总而言之,这种集成环境为数据科学家和商业智能专业人员提供了更多功能。他们可以轻松利用这两个工具的有益方面。
题库