日常工作中,Python+Pandas是否能代替Excel+VBA?

知乎上有個(gè)熱門(mén)提問(wèn),日常工作中Python+Pandas是否能代替Excel+VBA?
我的建議是,兩者是互補(bǔ)關(guān)系,不存在誰(shuí)替代誰(shuí)。
復(fù)雜數(shù)據(jù)分析挖掘用Python+Pandas,日常簡(jiǎn)單數(shù)據(jù)處理用Excel+VBA。
從數(shù)據(jù)處理分析能力來(lái)看,Python+Pandas肯定是能取代Excel+VBA的,而且要遠(yuǎn)遠(yuǎn)比后者強(qiáng)大。
但從便利性、傳播性、市場(chǎng)認(rèn)可度來(lái)看,Excel+VBA在職場(chǎng)工作上還是無(wú)法取代的。
因?yàn)镋xcel符合絕大多數(shù)人的使用習(xí)慣,使用成本更低。
就像Photoshop能修出更專(zhuān)業(yè)的照片,為什么大部分人在用美圖秀秀?道理是一樣的。
從市場(chǎng)接受度來(lái)看,Python對(duì)比Excel有三個(gè)差異點(diǎn)。
注意我這里說(shuō)的是差異點(diǎn),不是劣勢(shì),因?yàn)椴煌贩N的東西,沒(méi)辦法進(jìn)行優(yōu)劣比較。
1、Python學(xué)習(xí)門(mén)檻相對(duì)較高
雖然Python在編程語(yǔ)言里算最容易入門(mén)的,但是它仍然是一門(mén)編程語(yǔ)言,需要你理解變量、函數(shù)、邏輯語(yǔ)句、類(lèi)、線程進(jìn)程等編程知識(shí),對(duì)于大部分非IT專(zhuān)業(yè)的人來(lái)說(shuō),學(xué)習(xí)門(mén)檻是相當(dāng)高的。

而且學(xué)習(xí)Python數(shù)據(jù)分析不光是學(xué)習(xí)Python語(yǔ)法本身,你還要學(xué)習(xí)Pandas、Numpy、Matplotlib、SKlearn等各種數(shù)據(jù)科學(xué)庫(kù),因?yàn)榇蟛糠謹(jǐn)?shù)據(jù)處理函數(shù)都包裝在這些庫(kù)里。

很多庫(kù)學(xué)習(xí)的難度不比Python本身容易,因?yàn)檫@些大庫(kù)的生態(tài)很復(fù)雜。比如Pandas,它的函數(shù)方法起碼得有成千上萬(wàn)個(gè),還有不勝其數(shù)的參數(shù)和邏輯,就像是你在手?jǐn)]Excel底層代碼去做數(shù)據(jù)分析。
所以Python擅長(zhǎng)處理復(fù)雜度高、重復(fù)性高、數(shù)據(jù)量大的場(chǎng)景。

Excel呢?幾乎大部分懂點(diǎn)電腦的人可以零門(mén)檻去使用,或者說(shuō)簡(jiǎn)單看些教程,就可以使用函數(shù)、透視表進(jìn)行數(shù)據(jù)處理,入門(mén)學(xué)習(xí)成本極低。
當(dāng)然,高階操作和VBA也是需要花時(shí)間去研究的。

2、Python使用成本相對(duì)較高
前面說(shuō)過(guò)Python不像Excel這種圖形界面軟件,拿來(lái)即用,不會(huì)出現(xiàn)什么幺蛾子。
Python用起來(lái)相比Excel麻煩點(diǎn),有可能你跑成功的代碼換到同事電腦就會(huì)出現(xiàn)bug,因?yàn)镻ython涉及環(huán)境配置、依賴(lài)關(guān)系,且語(yǔ)法格式比較嚴(yán)格,稍有不對(duì)就會(huì)報(bào)錯(cuò)。
所以很多Python的學(xué)習(xí)者會(huì)止步在安裝配置、bug處理上,還沒(méi)進(jìn)行數(shù)據(jù)分析就放棄了。
對(duì)于Excel,可能就不會(huì)存在這些問(wèn)題,或者很少。
公司里上到董事長(zhǎng)、CEO,下到基層員工,幾乎都在用Excel。你用Excel做出來(lái)的東西,可以毫無(wú)溝通障礙的同步給領(lǐng)導(dǎo)同事,哪怕是用到VBA等復(fù)雜功能,也可以輕松解釋。
當(dāng)然這里不涉及復(fù)雜的開(kāi)發(fā)的場(chǎng)景,只是日常辦公的數(shù)據(jù)處理和協(xié)作,Excel比Python更實(shí)用。
如果是跑算法、寫(xiě)自動(dòng)化工具,肯定Python相對(duì)合適。
3、Excel在某些應(yīng)用場(chǎng)景已經(jīng)通用化,產(chǎn)生路徑依賴(lài)
多數(shù)人對(duì)Excel產(chǎn)生了路徑依賴(lài)。Excel面世幾十年,在各行各業(yè)都有深層次的應(yīng)用,積累了大量代碼、公式、流程、素材等,很難在一朝一夕去找到替代品。
Excel是世界上最成功的軟件之一,微軟每年用養(yǎng)成本上千的工程師去開(kāi)發(fā)維護(hù)Excel,把Excel封裝成日常辦公最方便的數(shù)據(jù)工具。其實(shí)微軟考慮的是滿足95%的人需求即可,剩下5%的人可以盡情地去用Java、Python等工具。
所以不是說(shuō)功能越強(qiáng),我們?cè)綉?yīng)該用什么,而且考慮到現(xiàn)有的規(guī)則、經(jīng)驗(yàn)、行情,做出最有解選擇。
小結(jié)
綜上,大部分人使用Excel,而不是Python進(jìn)行數(shù)據(jù)分析,是很正常的事。
因?yàn)楹?jiǎn)單而有效的東西往往是最受歡迎的,Python其實(shí)也一直在往這個(gè)方向努力,相信它的明天會(huì)無(wú)比美好。




























