发现一个用 Rust 重写的 Pandas 的替代品,支持 Python

2023-02-17 21:37:19 +08:00
 Baboonowen

我看 V2 好像没有人讨论,就是这个 Polars,库的设计方式就是对标 Pandas 的,API 设计基本相同,稍微改改就能迁移。

我电脑上同样的任务只需要 20% 的 Pandas 完成时间,有图有真相:

你们可以自己在自己机器上也跑跑看,这是我的测试代码: https://github.com/reycn/polars-pandas-bench

5993 次点击
所在节点    Python
28 条回复
justou
2023-02-18 13:31:16 +08:00
@mepwang 让我想起了我的入门语言 Fortran ,数组在内存中列连续。出了学校再也没用过了,现在语言内置的并行计算功能越来越完善了
https://coarrays.sourceforge.io/doc.html
https://github.com/tkoenig1/coarray-tutorial/blob/main/tutorial.md
MonTubasa
2023-02-18 13:49:54 +08:00
我现在公司项目就在用,还挺好用的,就是有问题经常搜不到答案,需要自己读源码。
NoOneNoBody
2023-02-18 15:47:58 +08:00
粗看了一下文档,似乎学习成本不低,方法虽然接近,但不少参数区别较大,熟悉了 pandas 的人脑子转弯不容易,不熟悉 pandas 的从 0 开始反而可能好一些

文档前面几页就没找到和 pandas 直接互换的方法,只有新建或者文档读取
sadhen
2023-02-18 22:35:29 +08:00
这个项目很赞的。
ohayoo
2023-02-20 09:06:40 +08:00
@panggmai 大佬,pandas 读大文件,为了内存友好,可以设置 chunksize 来分块读取,再 for 循环;请问下 polars 读大文件是怎么分块读取的? n_rows 参数吗? n_rows 参数我试过,列数一多就容易出问题,得自己写循环来弄,感觉不是特别理想的方式
han777
2023-02-20 09:42:51 +08:00
@rocmax Bagua, 一个 rust 写的 PyTorch 的深度训练加速框架
aa2893785
2023-02-21 14:44:02 +08:00
@MonTubasa 是 python 在用还是 rust 在用
NoAnyLove
2023-03-14 09:42:44 +08:00

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

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

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

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

© 2021 V2EX