我看 V2 好像没有人讨论,就是这个 Polars,库的设计方式就是对标 Pandas 的,API 设计基本相同,稍微改改就能迁移。
我电脑上同样的任务只需要 20% 的 Pandas 完成时间,有图有真相:

你们可以自己在自己机器上也跑跑看,这是我的测试代码: https://github.com/reycn/polars-pandas-bench
我看 V2 好像没有人讨论,就是这个 Polars,库的设计方式就是对标 Pandas 的,API 设计基本相同,稍微改改就能迁移。
我电脑上同样的任务只需要 20% 的 Pandas 完成时间,有图有真相:

你们可以自己在自己机器上也跑跑看,这是我的测试代码: https://github.com/reycn/polars-pandas-bench
|
cocomikoFeb 17, 2023
1
看起来不错
|
|
ilaFeb 17, 2023 via Android
2
一直希望出个纯 go 或 rust 的人脸识别库
|
|
psyerFeb 17, 2023 via Android
3
R 语言做这个是专业的
|
|
4
@psyer R 我也会,也在磕盐用过,但是好多年没有用过了。
|
|
5
@ila 听起来就不错
|
|
jenlorsFeb 17, 2023
6
好东西
|
|
tf2Feb 17, 2023
7
Rust 有这功夫去把 R 重写了吧。。233
|
|
rocmaxFeb 17, 2023 via Android
8
@ila 我的理解模型使用的时候并不太吃资源吧,跟训练相比。所以应该是用 rust 重写 tensorflow 或者 pytorch ?
|
|
liuxuFeb 18, 2023
9
正确的 rust 姿势
|
|
qiuyue0Feb 18, 2023 via Android
10
明天试试
|
|
dw2693734dFeb 18, 2023
11
Rust 语法劝退了,还是 go 香
|
|
12
@rocmax tensorflow 和 pytorch 的底层是 C++实现的,python 只是作为 binding ,改成 rust 对性能估计没啥提升
|
|
nizoukaiFeb 18, 2023 via Android
13
这种东西,更需要的是准确性吧,速度无所谓的,没有社区深度验证过的不敢用
|
|
shinessionFeb 18, 2023
14
感谢 OP 分享,第一次听说 Polars, pandas 天天用, 回头测试一下看如何
|
|
yuhangchFeb 18, 2023
15
可以再来个,实现相关功能所需的时间🐶
|
|
16
polar 使用了 apache arrow 格式进行内存数据组织,凡是使用这个思路的软件都快
这里 https://h2oai.github.io/db-benchmark/ 有个十多个类似 pandas 软件的详细 benchmark ,可以看看哪几个速度快 |
|
mepwangFeb 18, 2023
17
类似 pandas 的软件,表格数据在内存中都是按照行来保存,
但很多数据的存取是按列进行的, apache arrow 的基本思路就是按列来组织数据,同一列的数据在内存中相邻存放, 因此在按列存取数据进行运算的时候速度会快很多 |
|
FightPigFeb 18, 2023
18
晚点试下
|
|
19
很早就发现这个库了,当初尝试过,具体问题是在读取大数据(csv 格式约 10G),有时会出现一些错误,尤其是 某列是某些混合类型的,比如中间有 int,str,还有时间的,pandas 会直接识别成 object ,polars 会报错,指定类型时候没有找到怎么去写的
|
|
NoOneNoBodyFeb 18, 2023
20
|
|
justouFeb 18, 2023
21
@mepwang 让我想起了我的入门语言 Fortran ,数组在内存中列连续。出了学校再也没用过了,现在语言内置的并行计算功能越来越完善了
https://coarrays.sourceforge.io/doc.html https://github.com/tkoenig1/coarray-tutorial/blob/main/tutorial.md |
|
22
我现在公司项目就在用,还挺好用的,就是有问题经常搜不到答案,需要自己读源码。
|
|
NoOneNoBodyFeb 18, 2023
23
粗看了一下文档,似乎学习成本不低,方法虽然接近,但不少参数区别较大,熟悉了 pandas 的人脑子转弯不容易,不熟悉 pandas 的从 0 开始反而可能好一些
文档前面几页就没找到和 pandas 直接互换的方法,只有新建或者文档读取 |
|
sadhenFeb 18, 2023
24
这个项目很赞的。
|
|
ohayooFeb 20, 2023
25
@panggmai 大佬,pandas 读大文件,为了内存友好,可以设置 chunksize 来分块读取,再 for 循环;请问下 polars 读大文件是怎么分块读取的? n_rows 参数吗? n_rows 参数我试过,列数一多就容易出问题,得自己写循环来弄,感觉不是特别理想的方式
|
|
28
看起来 pandas 2.0 也要用 arrow 格式,https://datapythonista.me/blog/pandas-20-and-the-arrow-revolution-part-i
|