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

如何使用pandas删除dataframe中指定列值为null的整行数据

错误修复方案

你遇到的NameError直接原因是循环变量定义为row,但代码中访问行时误用了未声明的变量i,把所有i替换为row即可解决这个报错。
但即使修复该报错,现有代码仍存在两个逻辑问题:

  • inplace=False参数不会修改原dataframe,drop操作的结果没有被保存
  • 遍历索引的同时删除行,会导致索引错位,出现漏删、逻辑异常的问题
    不推荐使用for循环实现该需求。
更合适的实现方式

pandas内置了向量化操作方法,性能远高于自定义for循环,代码更简洁易读:

  • 方法1:使用dropna方法(最推荐)
    直接通过subset参数指定检查空值的列,自动删除对应列值为空的行:
# 要修改原有df可以加inplace=True,或者将结果赋值给新变量
dataframe = dataframe.dropna(subset=['Column'])
  • 方法2:使用布尔索引筛选
    手动筛选出指定列非空的行,覆盖原有df即可:
dataframe = dataframe[dataframe['Column'].notna()]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 11:15:03