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

使用pandas的read_csv读取数据时可直接删除NaN值吗?如何配置参数?

解答:pandas.read_csv加载时能否直接删除NaN值?

嘿,这个问题很贴合实际数据分析场景!我来给你梳理清楚:

结论:pandas.read_csv()本身没有专门用来直接删除含NaN行的参数,但我们可以通过组合它的缺失值识别参数和后续的dropna()方法,实现“加载数据时同步处理NaN行”的效果,操作起来很顺畅。

具体步骤:

  1. 先确保缺失值被正确识别为NaN
    read_csv默认会把空字符串、'NA'、'NaN'这类常见缺失标记转为NaN,但如果你有自定义的缺失值(比如'?'、'无数据'),可以用na_values参数指定,让这些值也被识别为NaN:

    import pandas as pd
    # 把'?'和'无数据'也识别为NaN
    df = pd.read_csv('your_dataset.csv', na_values=['?', '无数据'])
    
  2. 加载后立即删除含NaN的行
    不需要分两步写,直接在read_csv()后面链式调用dropna()方法,就能在加载完成后马上删除所有包含NaN的行,代码简洁高效:

    # 加载时同步删除所有含NaN的行
    df = pd.read_csv('your_dataset.csv').dropna()
    

    要是你只想删除特定列存在NaN的行(比如只关心某几列的完整性),给dropna()加个subset参数指定列名即可:

    # 仅删除"age"或"income"列有NaN的行
    df = pd.read_csv('your_dataset.csv').dropna(subset=['age', 'income'])
    

额外小技巧:跳过空行

如果你需要处理的是空行(不是包含NaN的非空行),read_csv默认开启了skip_blank_lines=True,会自动跳过空行,不需要额外配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:59:03