- Published on
Polars
- Authors
- Name
- Lif
Polars
Polars
是基于Rust
写的一个速度很快的DataFrame
库。
它拥有以下特性:
- 多核利用
- 优化查询减少不必要的工作、内存分配
- 处理大于内存的数据集
- 拥有一致并且可预测的
API
- 具有严格的格式(在运行查询之前应该知道数据类型)
Polars
拥有 C、C++
的性能,并且完全控制查询引擎的性能关键部分。
Polars
竭尽全力:
- 减少冗余副本
- 高效遍历内存缓存
- 最大限度减少并行性争用
- 以快的形式处理数据
- 重用内存分配
Polars
还可以控制IO,允许它保存冗余副本并将 projections
和 predicates
降低到扫描级别。
Polars
从头开始编写,旨在并行化 DataFrame
上的查询。
Polars
拥有 lazy
和 semi-lazy
模式。
在 lazy
模式,我们能够对整个查询做优化,进一步提升性能和内存压力。
Pandas
Pandas
也是用于处理 DataFrame
的库。
Polars
和 Pandas
相比,有以下优点:
- 内部实现导致更少的开销
- 默认并行处理与优化