寬表格轉換成長表格實戰Power BI & Python & R

You can’t do data science in a GUI.    Hadley Wickham (RStudio 首席資料科學家)

我們可能無法永遠依賴圖形化介面的工具軟體(e.g. Power BI/ Tableau/ SAS/ SPSS)來做資料科學,因此學習程式語言(e.g. Python/ R)是必須的!

但Dax認為如果工具軟體與程式語言都可以用來解決同一件事,那他的價值就是一樣的,選擇你擅長的工具或程式語言吧!此篇將會示範使用Power BI、Python與R來進行從寬表格轉換成長表格。

 

快速導覽
一、常見的寬表格種類
二、萬用的轉換5步驟
三、使用Power BI
四、使用Python
五、使用R
六、結語

 

接續著上一篇文章 長表格? 寬表格? 好的表格讓你玩轉資料科學!,這次要直接來實戰了。Dax挑選了幾種常見的寬表格來進行轉換,分別是1×1、1×2、2×2寬表格,以及堆疊型寬表格。

 

一、常見的寬表格種類

寬表格轉長表格練習資料.xlsx (1×1, 1×2, 2×2寬表格)

45年~106來臺旅客按年齡統計.xlsx (堆疊型寬表格)

1.  1×1 寬表格

如圖所示,左邊有 “洲別” 1個維度,上面有 “性別” 1個維度,所以是 1×1寬表格。

2.  1×2 寬表格

如圖所示,左邊有 “洲別” 1個維度,上面有 “性別” 與 “目的” 2個維度,所以是 1×2 寬表格。

3.  2×2 寬表格

如圖所示,左邊有 “洲別” 與 “地區” 2個維度,上面有 “性別” 與 “目的” 2個維度,所以是 2×2 寬表格。

4.  堆疊型寬表格

如圖所示,這是一個由 1×2寬表格所堆疊起來的資料,所以是堆疊型寬表格。

 


二、萬用的轉換5步驟

1. 將左側合併成1維

在第4步驟要進行取消樞紐分析時,只能指定一個維度,所以先把左側的欄位全部合併成一個欄位,通常我會用下底線 “_”來當作分隔的符號。

2. 轉置表格

轉置表格後,2維轉到左側,這樣待會就能取消樞紐1維的欄位。

3. 填補缺漏值

這時左側的欄位通常會有許多缺漏值,需要將缺漏值填補上。

4. 取消樞紐分析1維的欄位

接下來就是關鍵的步驟了,進行取消樞紐分析,欄位指定前面合併成1維的欄位。

5. 切分1維的欄位

最後只要把之前合併成1維的欄位切分開,就大功告成了!

 


三、使用Power BI

1.  1×1 寬表格

2.  1×2 寬表格

3.  2×2 寬表格

4.  堆疊型寬表格

因為需要每66列切開成許多個寬表格,切開之後再依照上面的步驟將寬表格轉換成長表格,最後再將轉換後的長表格合併在一起。目前暫時想不到如何用Power BI來處理這種堆疊型寬表格,發現Power BI的弱點啦!

 


四、使用Python

 


五、使用R

 


六、結語

經過實戰之後,多少能夠體會我們可能無法永遠依賴圖形化介面的工具軟體(e.g. Power BI/ Tableau/ SAS/ SPSS)來做資料科學,但Power BI的強大之處還是如大家所見,短短幾十秒鐘的時間就可以完成清理與轉換,入門的門檻非常的低。

其實微軟也知道不可能單獨靠Power BI打天下,Python與R在資料科學與統計領域已經非常的豐富與成熟,使用者社群也非常的龐大,那何不與他們共生共榮? 站在巨人的肩膀上,總是讓你看的更遠!

所以微軟目前已經整合了 Python 與 R 在 Power BI 中,意思就是你可以在 Power BI 中來使用 Python 與 R 進行資料清理或資料視覺化。

如果大家有遇到奇怪種類的寬表格,可以留言一起來討論怎麼轉換喔!

 


我該去哪裡學習Power BI?

Power BI數據分析實戰-邏輯與資料視覺化 (Power BI 數據工坊所推出的課程)

這堂課將會是一堂融合商業思維數據分析心法 Power BI 實際操作的課程,將會帶大家用Open Data完成3個數據儀表板,目前已經上線了,若對課程有興趣歡迎一起加入學習!

Microsoft Power BI 引導式學習 (官方學習文件)

目前市面上比較少Power BI的教學,官方的教學算是入門級別完整的課程,缺點就是比較深澀不好懂,是以功能為導向的教學方式,而且沒有中文字幕阿,不過還是建議若是聽的懂英文,也可以去聽聽看,熟悉一下Power BI的操作方式。

Taiwan Power BI User Group (Facebook社團)

目前台灣也沒有相應的Facebook社團讓Power BI的使用者可以一起討論使用過程中問題,因此Dax建立了Taiwan Power BI User Group,歡迎大家一同加入,有任何關於Power BI的事情都可以在上面討論。

Facebook Comments