Published on

Polars

Authors
  • avatar
    Name
    Lif
    Twitter

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 相比,有以下优点:

  • 内部实现导致更少的开销
  • 默认并行处理与优化