Python pandas中DataFrame.dropna()删除缺失值用法实例

 更新时间:2025年06月30日 09:46:19   作者:weixin_44865058  
在Python的Pandas库中DataFrame对象是处理二维表格数据的核心结构,下面这篇文章主要介绍了Python pandas中DataFrame.dropna()删除缺失值用法的相关资料,需要的朋友可以参考下

前言

在 Pandas 中,DataFrame.dropna() 用于删除缺失值(NaN 或 None),是数据清洗的关键操作。以下是详细用法和常见场景:

1. 基本语法

cleaned_df = df.dropna(
    axis=0,          # 删除行(默认)或列(axis=1)
    how='any',       # 'any'(默认,存在缺失即删除)或 'all'(全为缺失才删除)
    thresh=None,     # 保留非缺失值数量≥thresh的行/列
    subset=None,     # 仅检查指定列的缺失情况
    inplace=False    # 是否原地修改(False时返回新DataFrame)
)

2. 核心参数详解

参数说明示例
axis0 或 'index':删除包含缺失值的行(默认)
1 或 'columns':删除列
df.dropna(axis=1)
how'any':行/列中任一缺失即删除
'all':行/列全部缺失才删除
df.dropna(how='all')
thresh保留至少含 thresh 个非缺失值的行/列(优先级高于 howdf.dropna(thresh=3)
subset仅对指定列(列表形式)检查缺失值df.dropna(subset=['Age', 'Salary'])
inplaceTrue:直接修改原DataFrame,不返回新对象
False:返回新DataFrame(默认)
df.dropna(inplace=True)

3. 常见使用场景

(1) 删除所有含缺失值的行(默认行为)

import pandas as pd
import numpy as np

df = pd.DataFrame({
    'A': [1, np.nan, 3],
    'B': ['x', np.nan, 'z'],
    'C': [10, 20, 30]
})

cleaned_df = df.dropna()
print(cleaned_df)

输出

     A  B   C
0  1.0  x  10
2  3.0  z  30

(2) 删除所有含缺失值的列

cleaned_df = df.dropna(axis=1)
print(cleaned_df)

输出

    C
0  10
1  20
2  30

(3) 仅当整行全为缺失值时删除

cleaned_df = df.dropna(how='all')

(4) 保留至少2个非缺失值的行

cleaned_df = df.dropna(thresh=2)

(5) 仅检查特定列的缺失值

cleaned_df = df.dropna(subset=['A', 'B'])

4. 注意事项

  • 缺失值类型:Pandas 将 None 和 np.nan 均视为缺失值。
  • 性能优化:对大型DataFrame,thresh 比 how 更高效。
  • 替代方案:若不想删除数据,可用 df.fillna() 填充缺失值。

5. 可视化对比

原始数据 (df):

ABC
1.0‘x’10
NaNNaN20
3.0‘z’30

执行 df.dropna() 后:

ABC
1.0‘x’10
3.0‘z’30

通过灵活组合参数,dropna() 可以精准控制数据清洗的粒度,是处理缺失值的利器!

总结

到此这篇关于Python pandas中DataFrame.dropna()删除缺失值用法的文章就介绍到这了,更多相关pandas DataFrame.dropna()删除缺失值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python函数中不定长参数的写法

    Python函数中不定长参数的写法

    今天小编就为大家分享一篇关于Python函数中不定长参数的写法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Python Pandas数据处理高频操作详解

    Python Pandas数据处理高频操作详解

    这篇文章主要为大家整理了一些Python Pandas数据处理高频操作,文中的示例代码讲解详细,对我们学习Python有一定的帮助,需要的可以参考一下
    2022-06-06
  • Python中pygame游戏模块的用法详解

    Python中pygame游戏模块的用法详解

    Pygame是一组用来开发游戏软件的 Python 程序模块,Pygame 在 SDL(Simple DirectMedia Layer) 的基础上开发而成,它提供了诸多操作模块,本文给大家介绍了Python中pygame游戏模块的用法,需要的朋友可以参考下
    2024-01-01
  • python实现维吉尼亚算法

    python实现维吉尼亚算法

    这篇文章主要为大家详细介绍了python编程实现维吉尼亚算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • python 将字符串完成特定的向右移动方法

    python 将字符串完成特定的向右移动方法

    今天小编就为大家分享一篇python 将字符串完成特定的向右移动方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python爱心表白 每天都是浪漫七夕!

    python爱心表白 每天都是浪漫七夕!

    每天都是浪漫七夕!这篇文章主要为大家详细介绍了python爱心表白,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • python回归分析逻辑斯蒂模型之多分类任务详解

    python回归分析逻辑斯蒂模型之多分类任务详解

    这篇文章主要为大家介绍了python回归分析逻辑斯蒂模型之多分类任务详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Pandas数据结构中Series属性详解

    Pandas数据结构中Series属性详解

    本文主要介绍了Pandas数据结构中Series属性详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 详解python UDP 编程

    详解python UDP 编程

    这篇文章主要介绍了python UDP 编程的相关资料,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-08-08
  • Python 权限控制模块 Casbin

    Python 权限控制模块 Casbin

    这篇文章主要介绍了Python 权限控制模块 Casbin,Casbin是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型,更多相关内容感兴趣的朋友可以参考下面文章内容
    2022-06-06

最新评论