Polars:从 Pandas 过渡指南
如果您已经熟悉 Pandas,那么在使用 Polars 时需要注意一些关键区别。以下是一些典型的 Pandas 操作及其对应的 Polars 实现。
1. 列运算
Pandas
df["a"] = df["b"] * 10
df["c"] = df["b"] * 100
Polars
df = df.with_columns([
(pl.col("b") * 10).alias("a"),
(pl.col("b") * 100).alias("c"),
])
Polars 中的列运算支持并发执行,提高性能。
2. 基于判定的列运算
Pandas
df.loc[df["c"] == 2, "a"] = df.loc[df["c"] == 2, "b"]
Polars
df = df.with_column(
pl.when(pl.col("c") == 2)
.then(pl.col("b"))
.otherwise(pl.col("a")).alias("a")
)
Polars 的方式更为简洁,且避免了修改原始 DataFrame。
3. 筛选
Pandas
df.loc[(df['sqft_living'] > 2500) & (df['price'] < 300000)]
Polars
df.filter(
(pl.col("m2_living") > 2500) & (pl.col("price") < 300000)
)
4. 无需索引列
Polars 不需要索引列,这使得数据处理更简单。
5. Pandas 重塑操作
Pandas
df["size"] = df.groupby("c")["type"].transform(len)
Polars
df = df.select([
pl.all(),
pl.col("type").count().over("c").alias("size")
])
Polars 使用窗口函数来达到相同的目的,且可以更高效地处理。
以上代码示例展示了如何将 Pandas 中的常见操作转换为 Polars。更多详细信息和高级用法,请访问原网页。