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
相关产品推荐
相关产品推荐

