【Pandas】去除重复项函数drop_duplicates

用法和介绍

drop_duplicates(subset=None, keep='first', inplace=False, ignore_index=False)

        返回去除重复行的DataFrame

  • subset: 列名,默认为所有列

        设置根据列名来判断重复值,默认值为所有列元素相同时才判定为重复值。

  • keep: 'first', 'last', False,默认为first

        决定保留的数据行。

        first:保留第一个出现的重复数据

        last:保留最后一个出现的重复数据

        False:删除所有的重复行

  • inplace:布尔值,默认为False

        设置是否在原DataFrame删除数据。若为True,则返回删除重复数据后的DataFrame。

  • ignore_index:布尔值,默认为False

        设置是否忽略行索引,去重后的结果的行索引不变。若为True,行索引则从0开始编号。

示例

先创建一个DataFrame

import pandas as pd
df = pd.DataFrame({
    'category': ['beverage', 'beverage', 'food', 'beverage', 'food', 'book', 'beverage'],
    'item': ['milk', 'tea', 'apple', 'coffee', 'peach','comic', 'tea'],
    'price': [4, 4.5, 3.5, 4, 4, 4.5, 4.5]
})

输出DataFrame

1、drop_duplicates()

        默认情况下根据所有列删除所有的重复行

df.drop_duplicates()

        结果显示删除了最后一行,因为最后一行与第1行是完全一样的。

2、drop_duplicates(keep)

        如果要指定删除第一个出现的重复值则输入参数keep='last'

df.drop_duplicates(keep='last')

3、drop_duplicates(subset)

        如果要把价格重复的值删去,则设置参数subset='price'

df.drop_duplicates(subset='price')

        

        参数subset可以传入以列名组成的列表,即这些列值都相等才删除

df.drop_duplicates(subset=['item','price'])

4、drop_duplicates(inplace)

        若要将删除后的结果保留,则设置inplace=True。原来的df则替换成删除重复值后的DataFrame。

df.drop_duplicates(subset='category',inplace=True)
df

        

5、drop_duplicates(ignore_index)

        若需要重置索引,则设置ignore_index=True

df.drop_duplicates(ignore_index=True)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值