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

Polars DataFrame逐行检测空值的更优实现方法咨询

高效标记Polars DataFrame每行是否含空值的方案

直接使用Polars原生向量化操作即可实现,无需转置,代码简洁且效率远高于转置方案:

  1. 核心实现代码
import polars as pl

# 示例DataFrame
df = pl.DataFrame({
    "col1": [1, None, 5],
    "col2": ["foo", None, "bar"],
    "col3": [3.14, 2.71, None]
})

# 新增布尔列标记每行是否存在任意null值
df = df.with_columns(has_any_null=pl.all().is_null().any())
  1. 关键说明
  • pl.all():选中当前DataFrame的所有列
  • .is_null():将每列元素转换为布尔值,null对应True,非null对应False
  • .any():按行聚合,只要该行有一个True就返回True,否则返回False
  • 该操作是Polars原生的向量化计算,完全避免了转置带来的高开销
  1. 排除指定列的场景
    如果不需要检查某些列(比如已有的标识列),可以用exclude方法筛选目标列:
# 排除col1,只检查col2和col3是否有null
df = df.with_columns(has_null_in_target=pl.all().exclude("col1").is_null().any())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 23:53:10