过滤
急性
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 │
└─────┴─────┘