前言
上回提到,Power BI借助Python做关联分析,可以轻松地找出物品中的频繁项集,且该频繁项集内的物品数量不限于2个。实现方式既可以通过Power BI里添加Python可视化控件直接生成Python式图表,也可在PQ里借助Python处理数据。前者最大的好处体现在与切片器联动中,是即时计算新的频繁项集。不足在于Python图表的风格与Power BI不一致,而且由于直接输出Python图(没有输出数据源),不便于开展其他分析。后者,正好解决了这些不足。
方法
首先点击【转换数据】进入Power Query(PQ)界面。
接下来,我们复制一份源数据。因为在PQ里用Python进行数据清洗,实际上会修改覆盖掉原来的这份数据记录,所以复制一份以便备份。
再接下来,是用Python清洗数据的关键。网上同类话题的文献都讲的比较简单,这里把每一步截图给大家看看。如图所示依次点开Python编辑器。编辑器中输入输出都是Python的DataFrame数据结构。打开后,系统默认将数据源转成DataFrame的dataset。也即在此编辑器中,已经有了数据dataset。
2. 将上篇推文那段Apriori算法的代码复制到此编辑器。区别是,之前需要输入图表,而这次无需,因此可以把最后几行代码删掉。输入的代码如下:
from mlxtend.frequent_patterns import apriori
from mlxtend.preprocess