过滤

急性

Polars 的急性过滤操作与 Pandas 中的非常相似。

import polars as pl

df = pl.DataFrame({"a": [1, 2, 3], "b": [None, "b", "c"]})

mask = df["a"] > 2  # 谓词表达式
out = df[mask]  # 谓词过滤

或者用下面更符合 Polars 习惯的方式:

df.filter(pl.col("a") > 2)

惰性

惰性过滤操作通常使用以下表达:


df = pl.DataFrame({"a": [1, 2, 3], "b": [None, "b", "c"]})

out = df.lazy().filter(pl.col("a") > 2).collect()  # 惰性过滤

两者的结果都是:

shape: (1, 2)
┌─────┬─────┐
│ a   ┆ b   │
│ --- ┆ --- │
│ i64 ┆ str │
╞═════╪═════╡
│ 3   ┆ c   │
└─────┴─────┘