如何在Polars中使用Expr.cut并将结果追加至原DataFrame
解决Polars中
pl.cut移除后的使用问题 问题背景
pl.cut已从Polars中移除,替代方案是表达式级别的.cut()和.qcut()方法。
正确用法示例
你提供的代码报错是因为仍在使用旧的pl.cut函数,现在需要直接对列表达式调用.cut()方法。在with_columns(或select)上下文中,正确写法如下:
import polars as pl df = pl.DataFrame({"a": [1, 2, 3, 4, 5], "b": [2, 3, 4, 5, 6], "x": [1, 3, 5, 7, 9]}) # 对x列执行cut操作,将分组结果命名为x_bins并追加到原DataFrame df_with_bins = df.with_columns(pl.col("x").cut(bins=[2, 4, 6]).alias("x_bins")) print(df_with_bins)
执行后会生成新列x_bins,包含x列按指定区间分组后的结果。
补充说明
.cut()方法直接作用于列表达式(pl.col("x")),符合Polars的表达式API设计风格- 若需要按分位数分组,可使用
.qcut()方法,用法类似:pl.col("x").qcut(n=3).alias("x_quantile_bins") with_columns不会修改原DataFrame,而是返回包含新列的新DataFrame
内容的提问来源于stack exchange,提问作者lebesgue
相关产品推荐
相关产品推荐

