如何在选择上下文中使用它,例如df.with_columns?
更具体地说,如果我有一个包含很多列的polars Dataframe ,其中一个列被称为x,我如何在x上执行pl.cut并将分组结果追加到原始 Dataframe 中?
下面是我尝试过的,但它不起作用:
df = pl.DataFrame({"a": [1, 2, 3, 4, 5], "b": [2, 3, 4, 5, 6], "x": [1, 3, 5, 7, 9]}
df.with_columns(pl.cut(pl.col("x"), bins=[2, 4, 6]))
非常感谢你的帮助。
2条答案
按热度按时间iqjalb3h1#
从文档来看,从2023-01-25开始,
cut
接受一个Series并返回一个DataFrame。与许多/大多数方法和函数不同,它不接受表达式,所以你不能在select
或with_column(s)
中使用它。要得到你想要的结果,你必须将它连接到你原来的df。另外,
cut
似乎不需要维护与父系列相同的数据类型。(这肯定是一个bug)因此,在本例中,您必须将其强制转换为int。你会:
avkwfej42#
从
0.16.8
开始,顶级函数pl.cut
已被弃用。现在必须使用series方法.cut
,该方法返回三列DataFrame。它返回一个DataFrame,如下所示:
如果你只想在主DataFrame中添加cut categories,你可以直接在
with_columns()
中完成:一个二个一个一个