厭倦了EXCEL想玩點新花樣?教你利用Python做資料篩選(下)

hxc979891發表於2021-01-27

前言

回顧一下上次的案例模型,我們知道了只要寫3行程式碼,就可以利用python對EXCEL資料做簡單的篩選,說明了python是一門非常簡單和實用的資料分析工具。前面學過的這幾句簡單的語言,不知道你們學會了沒?今天我們依舊是利用ETL+Python的搭配組合,對EXCEL資料進行深層次的加工,這一次我們要做的是高階篩選,請跟著我一起學習吧。

                                             

資料來源

我們還是用上次的那份電商訂單明細表,資料已脫敏:

EXCEL 篩選

我們回顧一下上一篇文章裡的資料需求,第一個是根據訂單日期篩選2010年的訂單,第二個是根據訂單等級去篩選高階的訂單,這一次我們把篩選條件進行升級,增加一個條件:在原先兩個篩選條件的基礎上,篩選出利潤金額前10的訂單。如果在EXCEL裡操作的話,可以利用公式或者自身的篩選功能去實現,但是在python又是怎樣實現的呢?

我們可以在pycharm等軟體上寫python指令碼去實現,但是我推薦大家用智分析的ETL功能去實現,智分析的ETL介面裡也提供了python指令碼的編寫頁面,並且很多簡單的需求透過ETL就能實現,無需撰寫複雜的程式碼,非常適合程式設計小白。

載入資料

開啟智分析裡ETL介面,我們先連線好資料來源,我已經提前把EXCEL檔案匯入到了智分析的系統裡,然後把關係資料來源拉拽到展示區裡,並在右邊找到資料來源存放的路徑:

載入完成後,我們可以對資料來源進行預覽:

條件過濾

當完成了資料連線後,接下來就可以利用智分析ETL裡自帶的python指令碼對資料進行各種處理,我們先把python的元件拉拽到中間的展示區,並與上面的關係資料來源進行相連:

以下指令碼是智分析自帶的指令碼,已經提前安裝好了pandas和numpy的庫,後面的函式也寫好了一部分程式碼,只要根據以下指令碼進行擴充套件,便可以在ETL上利用python進行資料清洗:

在輸入python指令碼之前,我們再明確一下要實現的需求,其中前面兩個條件是和上次一樣的,我們無需進行改動,直接複製指令碼過來即可,如果不懂的可以檢視我前一篇文章。第三個條件需要做的是篩選利潤額前10的訂單,這裡我們引用pandas中的sort_values函式進行排序,原理類似於SQL中的order by,可以將資料集依照某個欄位中的資料進行排序,後面接 ascending=False ,即對資料進行降序排列, head(10) 代表的是取前 10 的值:

我們看一下python指令碼執行後的效果,年份這一列把2010年給篩選出來了,訂單這一列篩選的是高階的訂單,訂單利潤這一列的資料按照降序把前10的資料給篩選出來了:

資料輸出

完成python的篩選程式後,我們把執行篩選後的表格進行儲存,可以選擇儲存在資料庫中,也可以儲存在資料集裡,這裡我依舊選擇資料集的儲存方式,因為方便在EXCEL裡進行呼叫:

回到EXCEL裡,點選EXCEL外掛裡的“檢視”,在右邊會出現智分析的資料集皮膚介面,點選下拉選單,便可以找到儲存在雲端的資料集,也可以直接輸入檔名進行搜尋:

點選EXCEL工具欄上的“重新整理”,資料集裡的欄位便會顯示在EXCEL裡,我們就可以利用這些資料在EXCEL裡進行資料分析了:

下篇預告

本文介紹了python的多條件篩選功能,下一篇將講解如何對欄位進行去重,敬請關注。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69980489/viewspace-2753818/,如需轉載,請註明出處,否則將追究法律責任。

相關文章