日常工作中,Python+Pandas是否能代替Excel+VBA?
知乎上有個熱門提問,日常工作中Python+Pandas是否能代替Excel+VBA?
我的建議是,兩者是互補關(guān)系,不存在誰替代誰。
復(fù)雜數(shù)據(jù)分析挖掘用Python+Pandas,日常簡單數(shù)據(jù)處理用Excel+VBA。
從數(shù)據(jù)處理分析能力來看,Python+Pandas肯定是能取代Excel+VBA的,而且要遠(yuǎn)遠(yuǎn)比后者強大。
但從便利性、傳播性、市場認(rèn)可度來看,Excel+VBA在職場工作上還是無法取代的。
因為Excel符合絕大多數(shù)人的使用習(xí)慣,使用成本更低。
就像Photoshop能修出更專業(yè)的照片,為什么大部分人在用美圖秀秀?道理是一樣的。
從市場接受度來看,Python對比Excel有三個差異點。
注意我這里說的是差異點,不是劣勢,因為不同品種的東西,沒辦法進行優(yōu)劣比較。
1、Python學(xué)習(xí)門檻相對較高
雖然Python在編程語言里算最容易入門的,但是它仍然是一門編程語言,需要你理解變量、函數(shù)、邏輯語句、類、線程進程等編程知識,對于大部分非IT專業(yè)的人來說,學(xué)習(xí)門檻是相當(dāng)高的。
而且學(xué)習(xí)Python數(shù)據(jù)分析不光是學(xué)習(xí)Python語法本身,你還要學(xué)習(xí)Pandas、Numpy、Matplotlib、SKlearn等各種數(shù)據(jù)科學(xué)庫,因為大部分?jǐn)?shù)據(jù)處理函數(shù)都包裝在這些庫里。
很多庫學(xué)習(xí)的難度不比Python本身容易,因為這些大庫的生態(tài)很復(fù)雜。比如Pandas,它的函數(shù)方法起碼得有成千上萬個,還有不勝其數(shù)的參數(shù)和邏輯,就像是你在手?jǐn)]Excel底層代碼去做數(shù)據(jù)分析。
所以Python擅長處理復(fù)雜度高、重復(fù)性高、數(shù)據(jù)量大的場景。
Excel呢?幾乎大部分懂點電腦的人可以零門檻去使用,或者說簡單看些教程,就可以使用函數(shù)、透視表進行數(shù)據(jù)處理,入門學(xué)習(xí)成本極低。
當(dāng)然,高階操作和VBA也是需要花時間去研究的。
2、Python使用成本相對較高
前面說過Python不像Excel這種圖形界面軟件,拿來即用,不會出現(xiàn)什么幺蛾子。
Python用起來相比Excel麻煩點,有可能你跑成功的代碼換到同事電腦就會出現(xiàn)bug,因為Python涉及環(huán)境配置、依賴關(guān)系,且語法格式比較嚴(yán)格,稍有不對就會報錯。
所以很多Python的學(xué)習(xí)者會止步在安裝配置、bug處理上,還沒進行數(shù)據(jù)分析就放棄了。
對于Excel,可能就不會存在這些問題,或者很少。
公司里上到董事長、CEO,下到基層員工,幾乎都在用Excel。你用Excel做出來的東西,可以毫無溝通障礙的同步給領(lǐng)導(dǎo)同事,哪怕是用到VBA等復(fù)雜功能,也可以輕松解釋。
當(dāng)然這里不涉及復(fù)雜的開發(fā)的場景,只是日常辦公的數(shù)據(jù)處理和協(xié)作,Excel比Python更實用。
如果是跑算法、寫自動化工具,肯定Python相對合適。
3、Excel在某些應(yīng)用場景已經(jīng)通用化,產(chǎn)生路徑依賴
多數(shù)人對Excel產(chǎn)生了路徑依賴。Excel面世幾十年,在各行各業(yè)都有深層次的應(yīng)用,積累了大量代碼、公式、流程、素材等,很難在一朝一夕去找到替代品。
Excel是世界上最成功的軟件之一,微軟每年用養(yǎng)成本上千的工程師去開發(fā)維護Excel,把Excel封裝成日常辦公最方便的數(shù)據(jù)工具。其實微軟考慮的是滿足95%的人需求即可,剩下5%的人可以盡情地去用Java、Python等工具。
所以不是說功能越強,我們越應(yīng)該用什么,而且考慮到現(xiàn)有的規(guī)則、經(jīng)驗、行情,做出最有解選擇。
小結(jié)
綜上,大部分人使用Excel,而不是Python進行數(shù)據(jù)分析,是很正常的事。
因為簡單而有效的東西往往是最受歡迎的,Python其實也一直在往這個方向努力,相信它的明天會無比美好。