懂點EXCEL就行!教你利用Python做資料篩選(上)

hxc979891發表於2021-01-25

前言

Python 很強大,有些複雜的Excel操作,python只要一兩個語句就可以了。
但Python使用門檻高,要安裝軟體以及各種模組庫。很多時候我們只想輕量級的使用python功能,有什麼簡單的辦法呢?
Smartbi智分析提供web python功能,無需安裝任何軟體就能在瀏覽器內執行python指令碼;還提供Excel外掛,能夠輕鬆將python執行結果取回到Excel。

下面以基礎的資料篩選為例,讓大家可以快速入門智分析的python功能,領略到python的資料分析魅力。

資料來源

我們要先用到一份EXCEL示例檔案,在這裡我選用了一份電商訂單明細表,資料已脫敏:

EXCEL 篩選

如果在EXCEL裡進行篩選,我們一般方法是利用EXCEL自身的篩選功能,在彈出的篩選介面裡用滑鼠進行勾選,例如我們要篩選“訂單日期”為2010年的和“訂單等級”為高階的:

 

 

Smartbi 智分析裡使用python進行篩選

載入資料

由於智分析的ETL是在網頁端上進行處理的,我們首先要做的就是先把本地的資料來源導進智分析平臺裡,在智分析資料連線的介面裡便可以快速把資料來源導進來。除了本地的資料檔案外,智分析也支援mysql、阿里雲等關係型資料庫的連線。開啟ETL的介面,把關係資料來源的元件拉拽到展示區裡,根據存放路徑找到您的資料來源:

滑鼠右鍵點選關係資料來源的“檢視輸出”我們可以對資料來源的輸出效果進行預覽:

Python 篩選

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

點選python的輸入框進行檢視,可以看到這裡的輸入框與pycharm等軟體的輸入框基本一樣,只要熟悉python的小夥伴都可以輕鬆上手,而且系統已經提前輸入了部分指令碼,這些程式碼是系統預設自帶的,無需自己寫,非常貼心。大家可以看到,提前寫好的指令碼主要是呼叫numpy、pandas這兩個庫以及定義了函式:

根據上述提到的需求,我們目的主要是對訂單日期以及訂單等級這兩個欄位進行篩選,我們首先先定義兩個變數cond與cond1,cond在此處呼叫了pandas的pd.to_datetime()函式,這是pandas的時間處理函式,後面dt.year要篩選的結果就是年份等於2010年。接下來cond1要篩選的條件就是column4=高階,因為兩者是and的關係,寫完這兩句指令碼後,還要用&把這兩個條件連線起來:

指令碼寫完後,點選確定,最後我們看一下python指令碼執行後的效果,第二列的訂單日期顯示為2010年,訂單等級顯示為高階,只需寫3行程式碼,我們的篩選需求已經實現了:

資料輸出

我們再利用ETL的輸出功能,對該份報表執行儲存和輸出,為了方便在EXCEL中對資料來源進行呼叫,這裡要輸出的資料來源型別為資料集。首先在ETL的介面裡把“輸出到資料集”拉拽到中間的展示區裡,並與上面的元件進行相連:

然後滑鼠右鍵點選“輸出到資料集”,選擇“執行到此處”,資料集便會成功儲存在智分析的雲端上:

資料回到Excel

最後回到EXCEL裡,在資料集皮膚裡找到剛剛儲存好的資料集,點選該資料集,並用滑鼠把資料集中的欄位拉拽到EXCEL裡:

點選工具欄上的重新整理,資料便會全部重新整理出來,我們可以看到“訂單日期”以及“訂單等級”這兩個欄位已經實現了篩選後的效果:

下篇預告

本文從 Excel 篩選角度介紹了簡單的應用,下一篇將講解更復雜的應用,先看看有哪些複雜需求:

·         訂單日期篩選2010的訂單

·         訂單等級篩選高階

·         利潤金額前10的訂單


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

相關文章