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生成个性签名图片获取GUI过程解析

    Python生成个性签名图片获取GUI过程解析

    这篇文章主要介绍了Python生成个性签名图片获取GUI过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python神器之Pampy模式匹配库的用法详解

    Python神器之Pampy模式匹配库的用法详解

    Pampy是Python的一个模式匹配类库,一个只有150行的类库,该库优雅、高效值得广大Python的码农加入自己基本开发栈中。本文就来讲讲Pampy的用法,需要的可以参考一下
    2022-07-07
  • Python实现快速将pdf文件剪切成多个图片

    Python实现快速将pdf文件剪切成多个图片

    这篇文章主要为大家详细介绍了如何使用Python实现快速将pdf文件剪切成多个图片,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • python四个坐标点对图片区域最小外接矩形进行裁剪

    python四个坐标点对图片区域最小外接矩形进行裁剪

    在图像裁剪操作中,opencv和pillow两个库都具有相应的函数,如果想要对目标的最小外接矩形进行裁剪该如何操作呢?本文就来详细的介绍一下
    2021-06-06
  • Python实现多脚本处理定时运行

    Python实现多脚本处理定时运行

    这篇文章主要介绍了Python实现多脚本处理定时运行,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-06-06
  • Python telnet登陆功能实现代码

    Python telnet登陆功能实现代码

    这篇文章主要介绍了Python telnet登陆功能实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Python实践之使用Pandas进行数据分析

    Python实践之使用Pandas进行数据分析

    在数据分析领域,Python的Pandas库是一个非常强大的工具。这篇文章将为大家详细介绍如何使用Pandas进行数据分析,希望对大家有所帮助
    2023-04-04
  • python暴力解压rar加密文件过程详解

    python暴力解压rar加密文件过程详解

    这篇文章主要介绍了python解压rar加密文件过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python稀疏矩阵及参数保存代码实现

    Python稀疏矩阵及参数保存代码实现

    这篇文章主要介绍了Python稀疏矩阵及参数保存代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • pytorch实现ResNet结构的实例代码

    pytorch实现ResNet结构的实例代码

    ResNet网络可以达到很深的层数的原因就是不断的堆叠残差结构而来的,接下来通过本文给大家介绍pytorch实现ResNet结构的示例代码,喜欢的朋友跟随小编一起看看吧
    2021-05-05

最新评论