介绍

Polars有一个强大的概念叫做表达式,这是Polars表现十分高效的核心原因之一。

表达式是许多数据科学计算的核心操作,常见的包括:

  • 从某列中取某行
  • 将某列乘上某些数
  • 从日期提取年份
  • 将一系列字符串转换成小写
  • ....

当然,表达式也被用于其他操作中:

  • 通过groupby操作分组求均值
  • 通过groupby操作分组求数量
  • 多列求和

Polars通过以下方式实现高效的核心数据转换:

  • 对每个表达式进行自动的查询优化
  • 对多列表达式自动并行处理

Polars表达式是一个从列(Series)到列的映射(或者从数学角度上是Fn(Series) -> Series),可以在各种上下文中使用,这意味着它们有一个列(Series)作为输入,一个列(Series)作为输出。通过查看这个函数定义,我们可以看到Expr的输出也可以用作Expr的输入。

这听起来可能有点抽象,所以让我们从一个例子开始。