numpy
numpy pandas除了效率对比excel,还有什么功能上的优势吗?
pandas除了效率对比excel,还有什么功能上的优势吗?
这两个属于不同领域中应用的东西,放在一起比的意义不是太大。
excel
excel面向办公用途,以人工操作为主,以可视化的方式对数据进行直观操作,一般人员经过简单培训即可上手。
numpy pandas
numpy pandas 面向数据统计方面,需要通过编写代码的方式来处理数据,编程语言是 python。主要供学过编程技术的开发人员或数据统计领域的人员使用。
为什么一些大公司不用pandas取代excel?
我想原因是他们的适用范围不一样,也就意味着他们的学习成本不一样。如同为什么有了汽车,还有自行车的存在。
适用范围Excel 作为办公软件,在处理小规模的表格数据是非常合适的。简单的日常需求可能只需要一键即可完成。pandas 是 Python 中的一个数据处理分析库,他能够处理非常复杂且不规范的数据(许多人以为不能),同时也能快速做探索分析。
我头条号其中一篇关于处理不规范数据的实战案例:
[Python替代Excel Vba系列(三):pandas处理不规范数据](_id6704937096722776583)
可以说,在 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带你玩转数据。