Pandas:删掉重复行(drop_duplicates()用法)

本文详细介绍了在Python的pandas库中,drop_duplicates()函数如何用于数据清洗,包括基本用法、参数说明(如subset、keep和inplace)以及注意事项,特别是针对大型数据集和索引去重的应用。
摘要由CSDN通过智能技术生成

        在Python的数据分析领域,drop_duplicates()是一个非常实用的方法,主要用于数据清洗过程中去除数据框中的重复行。下面详细介绍drop_duplicates()的使用方法和参数:

一、基本用法

        假设有一个包含重复行的DataFrame ,可以使用`drop_duplicates()方法来去除这些重复行。它会默认基于所有列来判断重复,并删除除第一个出现之外的所有重复行。

import pandas as pd

# 示例 DataFrame
data = {'Column1': [1, 2, 2, 3, 3, 3],
        'Column2': ['A', 'B', 'B', 'C', 'C', 'D']}
df = pd.DataFrame(data)

# 去除重复行
df_unique = df.drop_duplicates()

二、参数说明

subset: 这个参数允许在指定基于哪些列来检查重复项,默认为所有列。如果你只想基于某列去除重复,可以这样做:

    df_unique = df.drop_duplicates(subset='Column1')

keep: 控制如何处理重复项,默认值为'first',表示保留每个重复组的第一个出现。你也可以设置为'last'来保留最后一个出现的重复行,或者设置为False`来删除所有重复行。

    # 保留每个重复组的最后一个出现
    df_unique_last = df.drop_duplicates(keep='last')
    
    # 删除所有重复行
    df_unique_none = df.drop_duplicates(keep=False)

inplace: 默认为False,意味着操作会返回一个新的DataFrame,不会改变原DataFrame。如果设置为True,则会在原DataFrame上进行修改,不会返回新对象。

    # 直接在原DataFrame上操作
    df.drop_duplicates(inplace=True)

三、总结:

在处理大量数据时,注意drop_duplicates()可能会消耗较多内存,因为它需要比较数据以识别重复项。
如果DataFrame有指定索引列,并且想基于索引去重,确保索引是唯一的,或者明确将索引包含在subset参数中。

参考文档:

pandas.DataFrame.drop_duplicates — pandas 2.2.2 documentation

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值