{eval=Array;=+count(Array);}
我想原因是他们的适用范围不一样,也就意味着他们的学习成本不一样。如同为什么有了汽车,还有自行车的存在。
pandas 是 Python 中的一个数据处理分析库,他能够处理非常复杂且不规范的数据(许多人以为不能),同时也能快速做探索分析。
我头条号其中一篇关于处理不规范数据的实战案例:
["Python替代Excel Vba"系列(三):pandas处理不规范数据](https://www.toutiao.com/i6704937096722776583/?group_id=6704937096722776583)
可以说,在 Excel 中存在的功能,在 pandas 中也是一两句代码即可完成,并且能够做到Excel所不能做到的复杂需求。
具体可以参考我的系列文章(下面只是列举其中1篇):
[懂Excel就能轻松入门Python数据分析包pandas(八):匹配查找](https://www.toutiao.com/i6729044337029546504/)
因此,公司中的数据部门,"报表科"可能只使用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+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结合处理。
可以使用snapde进行数据处理,它能打开的数据比excel大多了,可以打开处理2000万行以上数据,它的数据显示就跟excel一样,并且它集合了python执行器,可以直接用pandas进行数据运算,既友好又高效
用pandas代替Excel,不说其它的,光学习成本就不是高一点半点。
要学会使用pandas,首先起码要做到Python入门。Python入门在编程语言入门里面算简单的,但依然是有一定难度的,也不是人人都能做到的。就算Python入门了,不懂NumPy,也是无法学习pandas的,因为后者是建立在前者基础上的。
而要学习NumPy,又要先具备矩阵等线性代数的相关知识,不然很难理解一些轴、秩等基础概念,以及诸如数组的乘法、转置、换轴、求逆、点乘积等数据操作;没有这些基础知识,即使一开始能依葫芦画瓢学习操作,但终究很难理解和运用。
所以,要用pandas大规模代替Excel,光是额外增加的学习成本这一块,就很高了。
pandas没能取代Excel和Linux没能在桌面端战胜Windows的原因是类似的:操作太复杂,不适合普通大众。绝大多数人习惯图形化、所见即所得的操作方式而不是写代码。再加上微软的强力推广,造成现在人人都知Excel,pandas更多在程序员中被人所知。
excel部署简单,办公电脑都有安装,Python安装要复杂一些,不能要求公司的财务、法务等支撑平台都装吧,Excel就不一样了,输出的分析结果可以无障碍共享
0
回答0
回答0
回答0
回答0
回答0
回答1
回答0
回答0
回答0
回答