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

如何从Pandas DataFrame删除NaN值?dropna方法失效求助

解决pandas dropna无法删除含NaN行的问题

给你几个直接的排查和解决步骤:

  • 先确认"nan"是不是pandas能识别的真正NaN
    你的样本数据里的nan看起来带前导空格,可能是字符串类型的' nan',不是pandas默认的np.nan,这时候dropna根本识别不出来。先执行代码验证:

    import numpy as np
    print(df3['S4_SIG2'].unique())
    

    如果输出里出现' nan'(带引号的字符串),先把它替换成标准NaN:

    df3['S4_SIG2'] = df3['S4_SIG2'].replace(' nan', np.nan)
    
  • 强制转换列类型为数值型
    如果S4_SIG2列是object类型,即使是NaN也可能无法被dropna识别。可以把列转成数值型,无法转换的内容会自动变成标准NaN:

    import pandas as pd
    df3['S4_SIG2'] = pd.to_numeric(df3['S4_SIG2'], errors='coerce')
    
  • 重新执行dropna操作
    做完上面的处理后,再运行你的删除代码:

    df4 = df3.dropna(subset=['S4_SIG2'], how='any')
    print(df4)
    

    这时候应该只会保留S4_SIG2列有有效值的第一行数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 19:51:21