开发者

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

目录
  • 前言
  • 1. 基本语法
  • 2. 核心参数详解
  • 3. 常见使用场景
    • (1) 删除所有含缺失值的行(默认行为)
    • (2) 删除所有含缺失值的列
    • (3) 仅当整行全为缺失值时删除
    • (4) 保留至少2个非缺失值的行
    • (5) 仅检查特定列的缺失值
  • 4. 注意事项
    • 5. 可视化对比
      • 总结

        前言

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

        编程

        1. 基本语法

        cleaned_df = df.dropna(
            axis=0,          # 删除行(默认)或列(axis=1)
            how='any',       # 'any'(默认,存在缺失即删除)或 'all'(全为缺失才python删除)
            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  10php

        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(phpsubset=['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()&npythonbsp;可以精准控制数据清洗的粒度,是处理缺失值的利器!

        总结

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

        0

        上一篇:

        下一篇:

        精彩评论

        暂无评论...
        验证码 换一张
        取 消

        最新开发

        开发排行榜