一般来说, Python 和 excel 哪个处理数据更快?

2019-02-23 01:16:58 +08:00
 yellowtail
18795 次点击
所在节点    Python
32 条回复
Tink
2019-02-23 01:46:05 +08:00
处理数据?啥数据?
lithiumii
2019-02-23 01:49:14 +08:00
看你要干什么,以及有多熟练。不过稍微大一点的数据(几百行 * 几百列),Excel 就得开一会儿了吧。真·大数据 Excel 完全做不了。
flynaj
2019-02-23 01:50:02 +08:00
Python 快,因为它不回显
dartabe
2019-02-23 02:57:23 +08:00
ctrl + f 算不算 hash 表? :)
xupefei
2019-02-23 04:44:41 +08:00
@lithiumii #2 几百行几百列基本上是瞬开的。不要太小看 Excel 了…
硬件配置足够的情况下 Excel 能可视化处理几万行的数据,如果用 PowerBI 扩展,Excel 能搞定上百万行的数据分析。微软自己就演示过用 PowerBI 可视化分析千亿行数据。
youthfire
2019-02-23 08:16:31 +08:00
都用,完全取决于数量级
luozic
2019-02-23 08:25:31 +08:00
python 的方案软件便宜,库多,可以挂到 spark numpy 等上面玩,excel 主要是可视化编辑和操作 傻瓜点,不过现在 python 也有 jypter 了。有代码经验上 python,没有的出钱上 powerBI+Excel
congeec
2019-02-23 08:38:50 +08:00
什么酸快?人的时间还是机器的时间?
Les1ie
2019-02-23 09:29:17 +08:00
看数据量吧, 以前用 pandas 导出来的几万行的 xls, excel 处理起来有点费力, 但是 pandas 处理起来感觉还挺流畅的。
不过还是要看具体的需求,遇到过好几次了,需要花点时间才能写出来的脚本,excel 里面点点点两分钟就搞定。Excel 很多功能是提前写好了的,只需要点点点就行,另外要给透视表要给透视表一个好评,用起来太方便了 :)
lhx2008
2019-02-23 09:43:38 +08:00
excel 计算可以利用多核资源的,一点都不慢,只是数据量有上限
Nasei
2019-02-23 09:54:42 +08:00
@lithiumii
我见过组里的汽车网络工程师用 excel 收集汽车路试过程中的数据, 几个小时下来一堆 excel, 一个 excel 好几百兆, 然后打开套模板出好几个数据统计图表, 就普通的台式机上, 处理起来一点不慢
loading
2019-02-23 09:59:22 +08:00
不说场景其实没啥好对比的,excel 能调用 vba 然后调其他语言,python 就更不用说了。
kiwi95
2019-02-23 10:14:41 +08:00
比速度,Python 基本都是输
yanchao7511461
2019-02-23 10:28:45 +08:00
这比较的让我匪夷所思
ipwx
2019-02-23 10:49:18 +08:00
@kiwi95 NumPy / Pandas 用 C 写的,只要你不写 Python 循环而是用这些库的向量运算,都很快。
hakono
2019-02-23 11:13:11 +08:00
搞不懂处理数据方面你们为什么一定要把 excel 和 python 彻底对立起来比较呢?
excel 的可视化展现和操作是 Python 根本比不了的
而 python 利用 numpy 等库做数据操作的便利性也是 excel 没法简单提供的( vba 那玩意太操蛋了)

所以其实结论很简单,只需要将 excel 和 Python 结合起来就行了。方法是通过 excel 的 com 接口,python 调用 excel 接口直接读取操作 excel 上的数据进行计算,然后再用 excel 做数据展现( excel 内置的 vba 就是通过调用 excel 但 com 接口完成各种功能的)相当于 excel 只是个 gui 了(这方法可不是 python 读写 xlsx 文件那种低效率套路)

https://www.xlwings.org
这个库是有人封装好的 com 接口库,调用起来非常方便
可以看看介绍了解下
yellowtail
2019-02-23 11:44:43 +08:00
@hakono 只是好奇,假如我问 C 语言和 python 哪个快估计没人说看情况了,就直接说 C。 因为国内很多机构用 excel 来计算期权价值,算是 python 的对手盘,所以想知道大概怎么回事
hakono
2019-02-23 12:56:08 +08:00
@yellowtail 主要是不明确范围的讨论下没人能简单下结论。比如限定好范围:c 语言和 python 哪个“快”(一般都理解成执行速度的快,而不是开发速度的快),那很轻松就能得到结论是 c
而单纯抛出个 excel 和 python 数据处理的话,就没那么简单了。因为你提数据处理,不光光是只有计算,数据读取,数据测试,可视化等等。每个方面 excel 和 python 都有不同的用处。比如用数据做不复杂的图表的话我当然选择 excel 而不是 matplotlib。我想轻松展现计算的数据,python 虽然可月 print 或者用 pandas 但依旧没有 excel 这样直接展现出来直观。

所以我提到的 xlwings 是个很好的库
打开 excel 和 python,直接一句 xw.Range("A1:A10").value 就能读取操作 excel 界面上的数据。
而且这个库还能在 excel 里嵌入 python

python 专职数据计算,excel 负责展现,就是这样……
shange123
2019-02-23 16:47:08 +08:00
肯定 python 啊,现在数据分析,数据处理都用 python
Torpedo
2019-02-23 16:48:43 +08:00
看你熟悉哪个

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/537834

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX