{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

为什么一些大公司不用pandas取代excel?

alanoddsoffalanoddsoff 回答0 收藏1
收藏问题

10条回答

wayneli

wayneli

回答于2022-06-28 14:58

我想原因是他们的适用范围不一样,也就意味着他们的学习成本不一样。如同为什么有了汽车,还有自行车的存在。


适用范围Excel 作为办公软件,在处理小规模的表格数据是非常合适的。简单的日常需求可能只需要一键即可完成。

pandas 是 Python 中的一个数据处理分析库,他能够处理非常复杂且不规范的数据(许多人以为不能),同时也能快速做探索分析

我头条号其中一篇关于处理不规范数据的实战案例:

["Python替代Excel Vba"系列(三):pandas处理不规范数据](https://www.toutiao.com/i6704937096722776583/?group_id=6704937096722776583)


可以说,在 Excel 中存在的功能,在 pandas 中也是一两句代码即可完成,并且能够做到Excel所不能做到的复杂需求。

具体可以参考我的系列文章(下面只是列举其中1篇):


因此,公司中的数据部门,"报表科"可能只使用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带你玩转数据。

评论0 赞同0
  •  加载中...
liaorio

liaorio

回答于2022-06-28 14:58

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结合处理。

评论0 赞同0
  •  加载中...
anquan

anquan

回答于2022-06-28 14:58

完全不是一类东西,怎么取代?你是想让办公文员用pandas来算团建费用,还是想让数据分析师用excel来做几百只股票的选股?

评论0 赞同0
  •  加载中...
sanyang

sanyang

回答于2022-06-28 14:58

可以使用snapde进行数据处理,它能打开的数据比excel大多了,可以打开处理2000万行以上数据,它的数据显示就跟excel一样,并且它集合了python执行器,可以直接用pandas进行数据运算,既友好又高效


评论0 赞同0
  •  加载中...
Muninn

Muninn

回答于2022-06-28 14:58

用pandas代替Excel,不说其它的,光学习成本就不是高一点半点。

要学会使用pandas,首先起码要做到Python入门。Python入门在编程语言入门里面算简单的,但依然是有一定难度的,也不是人人都能做到的。就算Python入门了,不懂NumPy,也是无法学习pandas的,因为后者是建立在前者基础上的。

而要学习NumPy,又要先具备矩阵等线性代数的相关知识,不然很难理解一些轴、秩等基础概念,以及诸如数组的乘法、转置、换轴、求逆、点乘积等数据操作;没有这些基础知识,即使一开始能依葫芦画瓢学习操作,但终究很难理解和运用。

所以,要用pandas大规模代替Excel,光是额外增加的学习成本这一块,就很高了。

评论0 赞同0
  •  加载中...
CodeSheep

CodeSheep

回答于2022-06-28 14:58

十万级的excel 百万级的access 千万级的sqlserver 大部分企业只需要excel就够了

评论0 赞同0
  •  加载中...
selfimpr

selfimpr

回答于2022-06-28 14:58

pandas没能取代Excel和Linux没能在桌面端战胜Windows的原因是类似的:操作太复杂,不适合普通大众。绝大多数人习惯图形化、所见即所得的操作方式而不是写代码。再加上微软的强力推广,造成现在人人都知Excel,pandas更多在程序员中被人所知。

评论0 赞同0
  •  加载中...
SunZhaopeng

SunZhaopeng

回答于2022-06-28 14:58

pandas能干的excel也能干,pandas不能干的Excel也能干,你说怎么能替换

评论0 赞同0
  •  加载中...
Andrman

Andrman

回答于2022-06-28 14:58

excel部署简单,办公电脑都有安装,Python安装要复杂一些,不能要求公司的财务、法务等支撑平台都装吧,Excel就不一样了,输出的分析结果可以无障碍共享

评论0 赞同0
  •  加载中...
supernavy

supernavy

回答于2022-06-28 14:58

excel毕竟简单易用,培训成本低,应对普通点的数据量已经绰绰有余了。

毕竟不是每个公司都有大量百万级别的数据需要处理的。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<