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

如何在Polars LazyFrame指定列上使用fill_null填充空值?

在Polars中指定列填充空值的简洁写法

Polars的DataFrame.fill_null()方法本身暂不支持subset参数,但可以通过批量选择列的方式实现你想要的简洁效果,无需逐个列重复写fill_null:

方法一:批量指定列处理

直接用pl.col()传入目标列列表,一次性对所有指定列应用填充逻辑:

df.with_columns(pl.col(['col1', 'col2']).fill_null(strategy='zero'))

这种写法和你期望的简洁性一致,完全符合Polars的API设计逻辑,还能减少重复代码。

方法二:封装自定义函数(可选)

如果想要完全贴合你设想的df.fill_null(strategy='zero', subset=['col1', 'col2'])调用格式,可以自己封装一个轻量函数:

def fill_null_subset(df, strategy, subset):
    return df.with_columns(pl.col(subset).fill_null(strategy=strategy))

# 调用示例
df = fill_null_subset(df, strategy='zero', subset=['col1', 'col2'])

补充说明

你当前的写法是可行的,但批量选择列的方式在处理多列时更易维护,代码可读性也更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 15:32:08