🚨週年慶最後三日🚨全站課程 83 折、最後加碼 $899💰 再送激高 $1600 券❗️
天
時
分
全站 83 折🔥
登入/註冊
郭耀仁
2022/04/26
2,501

不想再仰賴圖形化使用者介面?寫程式是資料分析的必要技能

在 Hahow 開設多堂資料分析相關課程的郭耀仁老師根據自己多年的經驗,與你分享寫程式是資料分析必備技能的理由。

對文章有興趣來不及看?點選右上角「橘色小書籤」收藏文章,再也不怕錯過就是一輩子!

作為一個推廣程式與資料科學的倡義者(advocate),我對於寫程式是資料分析的必要技能這個論點深感同意,但真正讓我念茲在茲的是怎麼傳達這個概念:學習寫程式並不是要變成軟體工程師,而是知道它在什麼情境下可以派上用場,提高工作效率。

本文會先簡介引起撰寫文章動機的一個座談、簡單解釋這個座談提到的專有名詞然後舉一個小例子,希望讓還在躊躇資料分析是否需要學程式的人產生更強的學習動機。

來自 RStudio 首席資料科學家的啟示:You can’t do data science in a GUI.

Hadley Wickham,RStudio 的首席資料科學家,形容是他隻手將 R 語言推上巔峰似乎都不算過譽。他於今年三月的 ACM(Association for Computing Machinery)芝加哥當地座談,分享為何也許不能永遠仰賴標榜以拖拉點選完成資料分析的套裝軟體,幾個座談重點是:

  • 寫程式是資料分析的必要技能

  • 寫程式相對的優勢有自動化、重複使用性與提升溝通效率

  • R 跟 Python 都很棒,適合用來解決資料科學的問題,當然 Hadley 更傾向 R,因為 R 是為資料量身打造的

從 GUI 轉非 GUI:透過整合開發環境提升程式撰寫體驗

GUI(Graphic User Interface)圖形化的使用者介面,有時候我們會講「古意」來形容透過以操作滑鼠(拖拉點選)為主,來與運算核心溝通的介面。像是常見的試算表、SPSS 與 Tableau。至於非 GUI,就泛指透過指令與運算核心溝通,像是 Python、R。

很多人打開 Python 或 R,看著游標停在那裡,除了 print("Hello world!") ,說實話還真有點不知道要幹嘛?不要再盯著游標跟黑螢幕了,趕快去下載一個整合開發環境 IDE(Integrated Development Environment)來用吧!

說得簡潔一些,整合開發環境就是用來提升寫程式體驗的工具,它不是全然透過鍵盤或滑鼠跟運算核心溝通,而是在兩者之中取得一個不錯的平衡點,讓使用者同時保有兼顧方便的滑鼠操作與彈性大的指令操作,像是 Jupyter Lab 與 RStudio。

資料分析
圖片來源:RStudio

透過「資料清理」的例子了解什麼是 Do Data Science

了解 GUI 的定義之後,接著我們思考何謂 Do Data Science?在同一個座談中,Hadley Wickham 分享了一個 tidyverse 生態系的流程圖,大致給我們一個非常好的資料科學應用場景概觀,從資料取得、清理、轉置、模型、視覺化到溝通,都涵蓋於其中,我們要舉的例子屬於資料清理應用場景。

寫程式與資料分析
圖片來源:tidyverse 生態系

在先前的一篇文章〈大學城的房價較為抗跌保值〉裡頭曾經碰到一個問題,要把美國大學城資料由州名與大學城名參雜在一起的樣式清理轉換為州、大學城兩個欄位的樣式,您可以在此參考原始資料。

這是資料原本的樣子:
寫程式與資料分析
圖片來源:郭耀仁

最後要將資料整理成這樣:
寫程式與資料分析
圖片來源:郭耀仁

一開始碰到這個問題我會想,假如透過 GUI 來操作,該怎麼進行?大概會花費多少的時間?大概有以下幾個步驟:

  • 判斷文字是州名亦或者是大學城名

  • 清理文字後面不必要的中括號、小括號與其內容

  • 將州名與大學城名拆開,對應關係為一對多(一個州裡有多個大學城)

想了一會覺得用手動來處理確實辛苦且耗時,若能透過 R 或 Python 程式處理,不僅提高效率,也能避免操作錯誤;我們會需要用到迴圈、流程控制以及文字處理的相關知識。

以下為使用 Python 執行的程式碼以及執行結果:
寫程式與資料分析


以下為使用 R 執行的程式碼以及執行結果:
寫程式與資料分析

不論是透過 R 或是 Python 執行都可以透過一行程式碼解決,比起 GUI 系統的三個步驟更直覺,你也可以花費更多心力在資料判讀上。由此可見,寫程式的確可以讓資料分析更省力呢!

看完文章要用時卻忘光光?點選下方按鈕 收藏 此文章,我隨時都在這等你回來!


line-short


想了解更多關於 Python 的學習與應用嗎?
Hahow 為你精選 11 篇經典內容,在全球學 Python 的趨勢下,陪你找到學習動機!

給新手的python學習指南

課程推薦

▶︎ Python 的 50+ 練習:資料科學學習手冊

▶︎ 如何成為資料分析師:從問題解決到行動方案


延伸閱讀

(本文原載於數據交點,原文標題為寫程式是資料分析的必要技能)

給創作者來點掌聲!


郭耀仁

是一位資料分析師、也是資料科學的專業講師,畢業自台灣大學商學研究所,現於台大工商管理學系與台大共同教育中心兼任講師;在台大資工系統訓練班與中華電信學院講授資料科學課程。在專業講師之前任職過 Coupang 資深資料分析師、SAS Taiwan 資料分析顧問、中信銀儲備幹部與 McKinsey Taiwan 研究助理,閒暇時喜歡長跑與寫作。在 Hahow 好學校開設六門資料科學線上課程涵蓋 Python、SQL 與 R 語言;亦有在博碩文化、碁峰資訊出版多本資料科學書籍。

其他人也在看

更多文章