You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Polars:同一with_columns调用中能否使用刚创建的列生成新列?

Polars:同一with_columns调用中能否使用刚创建的列生成新列?

你好呀!很遗憾地告诉你,在Polars的同一个with_columns调用里,是没办法直接用刚创建的列来生成另一列的。

比如下面这段代码,我们试图在创建AB列的同时,直接用它来生成ABC列,运行后会失败:

df = df.with_columns(
  (pl.col("A")+pl.col("B")).alias("AB"),
  (pl.col("AB")+pl.col("C")).alias("ABC")
) 

这是因为在同一次with_columns调用中,所有列表达式都是基于原DataFrame的列计算的,刚创建的AB列还没被写入到DataFrame里,后续的表达式自然找不到它。

要实现你想要的效果,只能分两次调用with_columns:先创建好AB列,再基于这个新列生成ABC列,代码如下:

df1 = df.with_columns(
  (pl.col("A")+pl.col("B")).alias("AB")
)
df2 = df1.with_columns(
  (pl.col("AB")+pl.col("C")).alias("ABC")
) 

备注:内容来源于stack exchange,提问作者Nip

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 11:02:59