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

Pandas dropna()函数失效求助:无法删除DataFrame中的NA行

解决Pandas dropna()函数未生效的问题

哈哈,我之前也踩过这个坑!咱们来一步步搞定它:

最常见的原因:忘记修改原DataFrame

dropna() 默认不会修改原DataFrame,而是返回一个删除了NA行的新对象。如果你只是调用prison_data.dropna()但没把结果存回去,原数据根本不会变!

解决办法二选一:

  • 把返回的新DataFrame赋值给原变量:
    prison_data = prison_data.dropna()
    
  • 用inplace=True参数原地修改原数据:
    prison_data.dropna(inplace=True)
    

如果你只想删除特定列有NA的行

你测试的是out_custody列的NA,但默认dropna()会删除任意一列有NA的行。如果你的需求是只删除out_custody列有缺失的行,得指定subset参数:

# 只删除out_custody列含NA的行
prison_data = prison_data.dropna(subset=['out_custody'])

先确认缺失值分布(排查必备)

先跑个命令看看各列到底有多少NA值,避免白忙活:

# 打印每列的缺失值数量
print(prison_data.isna().sum())
# 验证处理后是否还有NA
print(prison_data['out_custody'].isna().sum())

按照上面的步骤来,应该就能成功删掉NA行啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:48:08