將Python集成到Power BI中:充分利用兩者

2020-12-19 九道門聊數據

總覽

通過將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的分析功能來構建分析報告。

總而言之,這種集成環境為數據科學家和商業智能專業人員提供了更多功能。他們可以輕鬆利用這兩個工具的有益方面。

相關焦點

  • Power BI:用Python自動執行數據處理任務
    然後運用Pandas將以上數據概括到一個數據幀中,刪除了所有重複信息(例如,兩個Widget共用的信息)。這個步驟的結果以簡潔的數據幀呈現,涵蓋了在Dashboard中使用的所有數據:Jupyter Notebook上的輸出數據幀線上版本好了,目前所有程序都能從layout文件上複製字符串,再粘貼到Jupyter Notebook上,從而藉助方程完美運行。
  • Excel,Tableau還是Power BI?
    它可以藉助數據連接功能將外部數據源中的數據提取到電子表格中,還可以從Web,Microsoft Query,SharePoint列表,OData Feed,Hadoop文件(HDFS)等來源獲取數據。因此,Excel文件通常用作Power BI和Tableau的數據源。
  • 手把手教你學會Power BI排名的計算
    這篇文章來自星友"特別提醒"的分享,作為一個剛學PowerBI不久的同學,嘗試著用PowerBI分析一個常見的排名問題,並將操作步驟一步步呈現了出來
  • Excel, Tableau還是Power BI?
    它可以藉助數據連接功能將外部數據源中的數據提取到電子表格中,還可以從Web,Microsoft Query,SharePoint列表,OData Feed,Hadoop文件(HDFS)等來源獲取數據。因此,Excel文件通常用作Power BI和Tableau的數據源。Tableau支持數百種數據連接器,包括在線分析處理(OLAP)和大數據(例如NoSQL,Hadoop)以及雲數據。
  • Excel與Python爬取數據,兩者PK,誰優誰劣?
    小夥伴們大家好~Excel和python作為當前兩款比較火的數據分析處理工具,兩者之間有很多共性也有很大的區別。今天一起來看下在抓取網頁數據這塊,兩者有什麼異同點。上圖中是中國證券監督管理委員會中滬市IPO公司的相關信息,我們需要提取其中的表格數據,分別利用Excel與python。ExcelExcel提供兩種獲取網頁數據的方法,第一種是 數據—自網站功能,第二種是Power Query。
  • 高效使用Power BI的15條建議
    04 整理欄位數據導入進來以後,一般情況下我們只是看看數據類型是否正確,而不做更細的整理,其實以下的操作可以減少內存的佔用:捨入數字以刪除多餘的小數位;將日期中不用的分秒數據捨去;將日期時間型數據拆分為日期列和時間列
  • Python中簡單的函數,再不會就不好意思了
    @Author :By Runsen函數在Python中的函數就是為了實現某一段功能的代碼段,可以重複利用。傳入的參數可以接受任何數據類型比如,列表print(my_sum([1, 2], [3, 4]))# 輸出[1, 2, 3, 4]再比如,字符串print(my_sum('hello ', 'world'))# 輸出hello world當然,如果參數數據類型不同,而兩者無法相加
  • python中利用py幫助命令擴展開發知識面
    計算公式:(今天是星期幾+幾天後)%7本節知識視頻教程一、回到python REPLpython REPL簡稱python控制臺。往往企業中的生產環境比較簡單,但是需要我們可能去解決一些bug,需要現場調試,此時,現場開發,可能用到幫助來提示我們一些函數的用法。二、如何利用幫助命令解決問題?1、利用dir()函數來獲取當前環境下面有哪些模塊?
  • Python數據核對系列之2—power query VS pandas
    上一篇文章我們整體梳理了我核對兩個表數據,從excel query模式一版版過渡到python多線程多進程讀取資料庫數據後完成核對並輸出結果到資料庫表中的整個版本迭代過程
  • 維吉尼亞理工大學的研究人員將傳感器集成到個性化的3D列印假肢中
    中瑞3D列印 中國3D列印技術創新者,致力於為全球客戶提供3D列印全產業鏈解決方案。維吉尼亞理工大學的團隊近日已經採用將電子傳感器與個性化3D列印假肢相結合的方式帶來更實惠的電動假肢。隨著增材製造的增長,可以從開源資料庫中找到的模型進行3D列印。但這些模型缺乏個性化的電子用戶界面,就像目前最昂貴的,最先進的假肢中的那樣。
  • Hololens中的Power BI在教學管理中的使用場景
    例如,檢查每間教室的電腦使用情況時會打開電腦中的某個軟體查看使用記錄。由於這些使用記錄只能存放在每臺電腦內,數據不能集中存儲和呈現,可想而知這種方式會花費大量的時間。不甘於平凡的「懶人」怎麼會允許自己使用這種低效率的方式呢!更快更酷是新時代管理者所追求的!首先利用Office365中的Forms或者PowerApps進行管理數據的錄入。
  • Python 命令行之旅:深入 argparse(二)
    劇照 | 《仙劍奇俠傳》前言在上一篇「深入 argparse (一)」的文章中,我們深入了解了 argparse 的包括參數動作和參數類別在內的基本功能,具備了編寫一個簡單命令行程序的能力。本文將繼續深入了解 argparse 的進階玩法,一窺探其全貌,助力我們擁有實現複雜命令行程序的能力。
  • bi軟體和報表工具有哪些區別?
    當數據分析師加入大數據行業時,他們肯定會聽到的兩個詞是「報表工具」和「bi軟體」。但是,許多人以為報表和BI是同一個東西,所以不了解兩者的概念和區別。實際上,這是一個非常錯誤的理解。形成這個錯誤概念的原因是,兩者都是大數據時代下的分析工具。新一代bi軟體和報表工具的功能有些重疊。
  • rPython:在R語言中調用python命令
    2本文要介紹的rPython包則實現了相反的功能,即在R語言中調用Python命令。通過發揮rPython的作用,可以很好的將Python與R語言結合在一起,兩者相輔相成,使數據分析工作更加得心應手。通過使用rPython,可以實現將數據傳輸給Python,從Python中獲取數據,也可以調用Python的函數及命令,實現R與python互通。對於R語言來說,Python中存在很多優秀的模塊,而開發者們也想將這些功能在R語言中實現時,則可以利用rpython函數調用python模塊,從而時R語言的到更好的擴展。
  • ​【超高分詞彙】「充分利用」英文怎麼說?
    充分利用(資源、觀點等)2. To make money available to someone in order to INVEST or to buy something such as a company.
  • SFI:Stata與Python的數據交互手冊(一)
    方式調用cmd,即可直接運行Python腳本,但這一場景必須藉助中間數據文件的幫助,例如要在Python中繪製詞雲圖,則需要使用Stata先行計算出詞語與詞頻,將結果導出到csv/txt文件後,Python再讀取數據文件,輸出結果。
  • python操作Power Point:使用演示文稿
    上節簡單介紹了PPT的python大法,這節開始詳細介紹如何在python裡調用打開和使用PPT文檔。,並將其保存為名為「test.pptx」的文件。.ppt文件將不起作用)。功能集仍在構建中,因此您無法添加或更改Notes頁面之類的內容,但如果演示文稿中有這些內容,則python-pptx足夠智能,可以讓它們保持單獨且足夠智能以保存它們。如果您使用相同的文件名打開並保存文件,python-pptx將乖乖地覆蓋原始文件而不會提示。所以,要確保這是你想要的操作。
  • Python中的函數定義與參數使用
    在Python中所有的變量均是reference,理解這一點,就都ok了參考之前的推文:Pyhon中的賦值與參數傳遞,或許跟你想的不太一樣!return x**nprint( power( 10,2) ) print( power( 10,3) )1001000比較簡單,沒啥子好說的,就是注意一哈調用的時候需要一個一個對上號就行假如怕自己對不上號,就辛苦點,這麼調用print( power
  • Python大佬簡簡單單利用字典破解zip文件口令
    python,不知道從何學起。QQ群:101677771原理主要是利用python裡自帶的zipfile庫中的extractall函數來實現的,簡單導入zipfile之後,實例化一個ZipFile類。利用extractall()來解壓這個文件,並在參數pwd上填入正確密碼這時我們發現執行腳本之後,fate.zip會被正確解壓,而填入錯誤密碼則會入下圖一樣報錯因此我們可以利用因口令不正確而拋出的異常來測試字典文件中是否有zip文件的密碼,並利用try expect來處理異常信息。
  • 利用Python隨機生成100道加法題
    本文我們將利用python實現一個很有意思的功能:隨機生成100道加法題。首先給出效果圖:代碼很簡單:雖然代碼看上去有很多的行,但是核心代碼就是4、5兩行。其中第4行是隨機生成100對整數,並保存為tuple類型,如圖所示:第5行是將兩個隨機整數轉換為加法的形式,如圖所示:其中代碼中的random.randint表示生成隨機整數,下面我們就對random模塊進行詳細介紹。