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

Polars新手求助:如何将Pandas替换列空值的代码转成Polars实现?

解决Polars中按条件替换列值的问题

你要实现的逻辑在Polars里用with_columns结合when/then/otherwise表达式就能完成,select主要用于选择或新增列,不适合直接做这种条件修改现有列的操作,这也是你之前尝试失败的原因。

实现代码

import polars as pl

df = df.with_columns(
    pl.when(pl.col("col_x").is_null())
    .then(pl.col("col_z"))
    .otherwise(pl.col("col_y"))
    .alias("col_y")
)

代码说明

  • with_columns:用来在原DataFrame上修改或新增列,是Polars中处理列更新的常用方法。
  • pl.col("col_x").is_null():对应Pandas里的df['col_x'].isna(),判断col_x的值是否为空。
  • 当col_x为空时,用col_z的值替换col_y;否则保留col_y原本的值,最后通过alias("col_y")覆盖原列。

内容的提问来源于stack exchange,提问作者Alessandro Togni

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 22:35:59