數據分析的領導者—爲什麼要使用Python語言呢?

chiaoya 許喬雅
Marketingdatascience
7 min readOct 14, 2020

市面上的程式語言有千千百百種,每個語言都有它的特定功用,像是:JavaScript適合用來開發web、C語言可以用來作為作業系統和編譯器的開發…等等,每個語言各司其職,但也可以互相cover彼此的不足,這就是程式語言的強大威力!

也因為各個語言的基礎邏輯是相通的,例如:變數、判斷式、迴圈、函數…等等,所以當你瞭解了其中一種語言的語法及邏輯架構,再學習其他語言時就能更駕輕就熟了。

程式語言熱門評比!

TIOBE Index 是一個熱門程式語言的排行榜,它每個月會根據各搜尋引擎的數據資料,如:Google、Wikipedia、Yahoo…等平台,排名出最受歡迎的程式語言,而2020年9月的前五名分別是C、Java、Python、C++及C#(如下圖一

圖一、2020年9月的 TIOBE Index 排行榜

其中最受矚目的莫過於近年逐漸崛起的Python,在17年間晉升了10個名次來到排行第三名(如下圖二

圖二、 TIOBE Index Python的歷年排名

為什麼Python會如此受到歡迎呢?

除了容易撰寫直觀而受到初學者的喜愛外,其功能強大、方便使用的函示庫大大增加了這個語言的應用範圍,包括目前最熱門的機器學習物聯網人工智慧都位在Python的範疇中。此外,對於本篇文章中所探討的「數據分析」Python也是此領域頂尖的佼佼者,我們將以下方的例子來做佐證。

案例簡介

Kaggle 是現今最熱門的數據科學競賽平台,企業和研究者可以在上面發布問題及數據集,全世界優秀的資料科學家則在平台上進行競賽以產出最好的模型。

今天我們會以Kaggle上的一場競賽 2019 Machine Learning and Data Science Survey” 的數據集來做研究,此份數據是源自於2019年針對資料科學及機器學習的使用者所做的調查,詢問了34個問題並蒐集了19,717筆數據,這其中我們將進一步對「程式語言」相關的問題來做分析,下列是相關的三個問題及選項。

Q5. Select the title most similar to your current role (or most recent title if retired): - Selected Choice
- Data Scientist
- Software Engineer
- Data Analyst
- Research Scientist
- Business Analyst
- Product/Project Manager
- Data Engineer
- Statistician
- DBA/Database Engineer
- Not employed
- Student
Q18. What programming languages do you use on a regular basis? (Select all that apply) - Selected Choice
- Python
- R
- SQL
- C
- C++
- Java
- Javascript
- TypeScript
- Bash
- MATLAB
Q19. What programming language would you recommend an aspiring data scientist to learn first? - Selected Choice
- Python
- R
- SQL
- C
- C++
- Java
- Javascript
- TypeScript
- Bash
- MATLAB

程式語言使用者調查分析

一、推薦給入門者的程式語言

以下為Q19的統計資料,可以得知Python是備受推薦的入門語言,且大幅領先其他選項,如圖三。應可歸因於Python語法直覺且較接近自然語言,因此使用者較容易理解程式邏輯及架構。

圖三、推薦的程式語言排名

二、各語言使用者推薦的程式語言

接下來,我們進一步針對不同的語言使用者來做分析。
圖四的每個灰色矩形是不同語言使用者所填答的內容,矩形內各種顏色的方框是此語言使用者推薦的程式語言,而方框的大小代表其所占的比例,越大表示越多使用者推薦使用。

各語言使用者對於Python推薦使用的比例皆在60%以上,依據下圖的結果更能明顯的看到Python幾乎壟斷了全部的市場!

Python的藍色方框代表其得到各語言使用者的喜愛,可以得知Python使用者一用就愛不釋手。而在這個講求大數據的時代,Python逐漸完整的機器學習套件如:Scikit-learn,提供了大量常見的機器學習演算法,使Python跟上現今電腦學界最熱門的趨勢,這應是受到其他使用者大力推薦的原因之一。

圖四、各語言使用者推薦的程式語言

三、不同職業推薦的程式語言

藉由下方的圖五,可以發現在「資料科學家」、「資料分析師」、「商業分析師」的調查結果中Python的推薦比例也是最高的, 所以對於資料分析從業人員來說,根據其使用經驗,Python應是不可或缺的工具之一。

圖五、各職業的推薦使用語言

而「統計學家」、「資料庫管理員/工程師」的調查結果卻不盡相同(參考圖六圖七),它們的第一名分別是R語言及SQL。

圖六、「統計學家」的推薦語言
圖七、「資料庫管理員/工程師」的推薦語言

推論應該是R語言統計分析(如:stats)、視覺化(如:ggplot2)上的功能強大! 基本上各種統計方法皆能在R上快速的實現,並且能將複雜的資料使用圖表或動圖的方式呈現出來,因此R語言榮登「統計學家」第一名的程式語言也是實至名歸的。

此外,R的語法與Python相比之下更為簡潔,可以將艱澀複雜的統計模型演算法用更容易理解的方式呈現出來,因此R語言在資料分析的使用上其表現也不可小覷。

SQL用於建立、查詢、更新及管理關聯式資料庫系統,簡單來說,SQL就是程式與資料庫間溝通的橋梁,所以對於「資料庫管理員/工程師」來講至關重要,也是工作上主要使用的語言。

來幫大家結論一下~

PythonR語言皆是當今資料科學領域中最熱門的程式語言,這兩種語言各有其優缺點,也有其專攻的應用領域。以作者自身的資料分析經驗,兩者都是資料分析不可或缺的工具,可以根據職業與資料處理的需求來選擇最適合的工具。

本文建議若是在進行資料整理使用機器學習演算法或是執行深度學習,Python是您最佳的選擇;若在進行數據檢視製作視覺化圖表或是統計分析,R語言能夠大大助你一臂之力。

兩種語言相輔相成,是進行資料分析的最佳夥伴! 總結來說,若以資料分析為志向想要選擇一種程式語言作為入門,本文建議可以從上面的分析結果當作參考,使用Python做為最主要的入門語言。

希望這篇文章能讓您在程式語言的學習之路上更有信心~

作者:許喬雅(臺灣行銷研究特邀作者)、鍾皓軒(臺灣行銷研究有限公司創辦人)

--

--