總覽
通過將Python集成到Power BI中進行統計分析的演示使用儀錶板和報告共享發現結果介紹
Power BI是Microsoft的專有產品,用於執行商業智能任務。自2018年以來,Power BI使集成R和Python等統計和通用軟體成為可能。
它對您有什麼幫助?如果您是商務智能(BI)專業人員,並且想要執行某些數據科學任務,則必須依靠數據科學團隊。另一方面,Python開發人員需要依賴BI團隊以可呈現的格式(也許在儀錶板中)展示其分析。但是,Power BI擺脫了這種相互依賴性,因為您現在可以在集成環境中運行Python。
新時代的數據科學家必須了解解決複雜業務問題的完整流程。通常,這包括收集,清理,探索,轉換數據以對未來事件進行預測。最後,分析結果顯示在儀錶板或報告中。因此,商務智能專業人員和預測建模專家的傳統角色正在變得模糊。
這增加了對將要在分析管道中執行所有上述任務的綜合工具的需求。如果此工具來自Excel的製造商,那就沒有比它更好的了。因此,Power BI是執行嵌入式分析的新話題。
在本教程中,我們將了解Power BI和Python的集成功能,並動手執行獨立系統無法輕鬆完成的某些任務。
目錄
設置集成環境使用Python腳本導入數據使用Power Query轉換數據在Power BI中使用Python的統計功能生成分析報告設置集成環境
第一步是建立並運行集成環境。為此,您應該在計算機上安裝Python發行版。為此,我更喜歡Python的基本發行版。對於所有與編碼有關的任務,我都使用Anaconda。但是,將Anaconda與Power BI集成可能是一項複雜的工作。
安裝後,集成環境需要您安裝四個Python軟體包。它們是Pandas(用於數據處理和分析),Matplotlib和Seaborn(用於繪圖)和Numpy(用於科學計算)。
您可以在命令行工具中使用pip命令來安裝這些軟體包。
點安裝熊貓pip安裝matplotlib點安裝numpypip安裝seaborn
安裝這些軟體包後,我們必須在Power BI中啟用Python腳本。您可以打開Power BI來檢查它是否自動檢測到計算機上安裝的Python發行版。轉到文件->選項和設置->選項。在「 Python腳本」下,您應該看到計算機上安裝了Python的主目錄。
使用Python腳本導入數據
現在,您可以運行快速測試來檢查Python是否在Power BI堆棧中工作。首先,您可以使用Python腳本在Power BI中導入一個小的數據集。
為此,轉到主頁功能區,單擊獲取數據,然後選擇其他。除了使用R或Python之類的腳本外,本節還允許您從各種各樣的源列表中導入數據,尤其是Web,Hadoop分布式文件系統(HDFS),Spark等。在這裡,我們將導入存儲在我的計算機上的用戶流失預測數據集。
單擊連接。它將打開一個部分,您可以在其中編寫以下Python腳本:
單擊確定 將加載導航器,並要求您選擇攪拌數據,然後單擊加載。您可以進入數據視圖檢查是否已加載數據。現在,您準備使用Power Query執行一鍵式數據轉換。
使用Power Query轉換數據
那些掌握了Python學習曲線的人會認識到以下事實:轉換數據或多或少是一項直接的活動,但是對於一個僅僅從事數據科學之旅的人而言,這可能並不容易。
但是,使用Power Query Editor,我們只需單擊即可定型和轉換數據。不僅如此,Power BI還保留在進行任何分析之前記錄到數據轉換管道中的所有操作的記錄。為了演示簡單的數據轉換功能,我們將展示如何使用Power Query。
將數據加載到Power BI中後,單擊「 主頁」選項卡下的「 轉換數據 」 以打開「查詢編輯器」。
這將打開「查詢編輯器」,並為您提供許多選項來執行數據的清理,重塑和轉換。
我們會將customer_nw_category變量轉換為文本欄位,因為它們表示客戶淨值類別,因此不應將其用作連續變量。
為此,我們將選擇該列,轉到「 數據類型」 ,然後將數據類型更改為「文本」。Power Query在「 應用步驟」部分下記錄了此步驟。重命名此步驟是一個好習慣,以方便召回。我們將其重命名為「 nw_cat Text」。同樣,我們將攪動 列轉換為邏輯變量,代表1(攪動)為True,攪動0(不攪動)為False,並將步驟重命名為「攪動–真/假」。
完成轉換步驟後,單擊「 關閉並應用」(位於左上角)以將這些轉換應用於數據。
在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的分析功能來構建分析報告。
總而言之,這種集成環境為數據科學家和商業智能專業人員提供了更多功能。他們可以輕鬆利用這兩個工具的有益方面。