2022-07-27 13:42来源:m.sf1369.com作者:宇宇
Excel更简单,学校都会开启关于计算机的基础课程。
MicrosoftOfficeExcel是Microsoft为使用Windows和AppleMacintosh操作系统的电脑编写的一款电子表格软件。
该软件直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。
我想原因是他们的适用范围不一样,也就意味着他们的学习成本不一样。如同为什么有了汽车,还有自行车的存在。
适用范围Excel 作为办公软件,在处理小规模的表格数据是非常合适的。简单的日常需求可能只需要一键即可完成。pandas 是 Python 中的一个数据处理分析库,他能够处理非常复杂且不规范的数据(许多人以为不能),同时也能快速做探索分析。
我头条号其中一篇关于处理不规范数据的实战案例:
[Python替代Excel Vba系列(三):pandas处理不规范数据]()
可以说,在 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。
附录参考资料:
Excel 1997 和 Excel 2003 中,工作表的大小仅为 256 列 × 65,536 行。Excel 2007 、 Excel 2010和Excel 2013等新版本中,工作表的大小为 16,384 列 × 1,048,576 行。超出此列和行限制的单元格中的数据将会丢失。大数据建议直接用csv文件和python的pandas结合处理。