為什麼一些大公司不用pandas取代excel?

俞達


我想原因是他們的適用範圍不一樣,也就意味著他們的學習成本不一樣。如同為什麼有了汽車,還有自行車的存在。


適用範圍
Excel 作為辦公軟件,在處理小規模的表格數據是非常合適的。簡單的日常需求可能只需要一鍵即可完成。

pandas 是 Python 中的一個數據處理分析庫,他能夠處理非常複雜且不規範的數據(許多人以為不能),同時也能快速做探索分析。

我頭條號其中一篇關於處理不規範數據的實戰案例:

["Python替代Excel Vba"系列(三):pandas處理不規範數據](https://www.toutiao.com/i6704937096722776583/?group_id=6704937096722776583)


可以說,在 Excel 中存在的功能,在 pandas 中也是一兩句代碼即可完成,並且能夠做到Excel所不能做到的複雜需求。

具體可以參考我的系列文章(下面只是列舉其中1篇):

  • [懂Excel就能輕鬆入門Python數據分析包pandas(八):匹配查找](


因此,公司中的數據部門,"報表科"可能只使用Excel,"分析科"就會同時使用Excel,vba,pandas


歷史原因

許多公司一開始就使用了Excel作為數據模型工具,套上許多公式或vba編程,他們很多時候不是不想用pandas代替,只是這意味著人力成本與風險。



vba的存在

Excel自帶的功能可以滿足一般工作需求,但不能實現自動化流程。但微軟及時提供了vba語言解決這一缺點。因此許多公司早期都會使用vba實現自動化流程。後期即使發現pandas效率更高,也不好替換


認知問題

我相信許多人都認為,學習vba要比學習pandas 要容易,畢竟學習pandas還需要去學習python。這是許多"數據人"的誤區。

不可否認,在"操作Excel"這個角度上看,學習vba的確易於學習pandas。但是,數據領域工作中,真正複雜的不在於怎麼操作Excel,而是怎麼處理數據。pandas在"玩數據"這塊,無疑比Excel與vba要優秀得多,學習成本也低很多。

這是因為,使用pandas不需要你非常深入python的知識,簡單的判斷、遍歷(實際不需要自己編寫遍歷代碼),即可馬上學習pandas

可惜許多"數據人"都被市面上各種學習python的資料給嚇倒,從而導致使用pandas代替Excel難以實現。



許多人不知道vba可以與pandas結合

我以前的一家公司中的數據部門,當初也是全用vba+Sql,但後來的維護成本實在太高(想象一下彙總也要自己寫幾十行代碼,sql其實也算簡單,但不能處理不規範數據,在pandas 中就一句)。


後來希望轉用 pandas,但是也遇到人力成本問題。後來發現python中有一個庫xlwings ,可以實現 vba與python之間的互相調用,並且直接支持pandas(你會發現當前許多的庫,甚至一些很出名的BI工具,都能支持pandas)。


現在,該公司已經使用pandas 替換了許多數據處理分析工作,而vba只是作為調整格式的工具。人力成本大大降下來,並且可以讓員工的能力有所提升。



最後

最後提醒各位"數據人",不進則退。如果你覺得你用Excel或vba就能應付當前工作需求,沒有必要學習更優秀的工具,那麼可能你的能力就永遠止步於此。



外星人玩Python


Excel起步較早,有很多資源。存在由全職團隊製作的書籍,社區甚至專業文檔。Excel可視化做得好。Excel的性能確實不咋地,但能解決大多數問題,且易於使用。VBA具有宏錄製功能。


pandas的資源也很豐富,性能和功能遠比Excel強大,但是易用性和可視化不如Excel。


建議:日常小數量的電子表格用Excel。如果大數據量或需要使用VBA,在掌握python的前提下,不如用pandas。


附錄參考資料:https://www.toutiao.com/i6632406205379674627/


Excel 1997 和 Excel 2003 中,工作表的大小僅為 256 列 × 65,536 行。Excel 2007 、 Excel 2010和Excel 2013等新版本中,工作表的大小為 16,384 列 × 1,048,576 行。超出此列和行限制的單元格中的數據將會丟失。大數據建議直接用csv文件和python的pandas結合處理。


python測試開發命理


可以使用snapde進行數據處理,它能打開的數據比excel大多了,可以打開處理2000萬行以上數據,它的數據顯示就跟excel一樣,並且它集合了python執行器,可以直接用pandas進行數據運算,既友好又高效



feiren127


pandas能幹的excel也能幹,pandas不能幹的Excel也能幹,你說怎麼能替換


antbuster


完全不是一類東西,怎麼取代?你是想讓辦公文員用pandas來算團建費用,還是想讓數據分析師用excel來做幾百只股票的選股?


西瓜I貝貝


pandas沒能取代Excel和Linux沒能在桌面端戰勝Windows的原因是類似的:操作太複雜,不適合普通大眾。絕大多數人習慣圖形化、所見即所得的操作方式而不是寫代碼。再加上微軟的強力推廣,造成現在人人都知Excel,pandas更多在程序員中被人所知。


分享到:


相關文章: