重复值处理--Pandas

1. 删除重复行:drop_duplicate()

1.1 函数功能

返回去除重复行的DataFrame,不考虑索引。

1.2 函数语法

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

1.3 函数参数

参数含义
subset列标签或列标签组成的列表,默认所有列
keep决定保留重复行中的哪个:first:保留重复值的第一个;last:保留重复值的最后一个;False:删除重复值的所有行
inplace布尔值,默认False:不修改原来的DataFrame
ignore_index布尔值,默认False:不改变DataFrame的原有索引标签,否则将修改为0,1,…n-1

1.4 实践演示

df = pd.DataFrame({
    'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],
    'style': ['cup', 'cup', 'cup', 'pack', 'pack'],
    'rating': [4, 4, 3.5, 15, 5]})
print(df)
# 删除某一列中的重复值,保留重复值的第一个值
print('1.\n',df.drop_duplicates(subset='brand',keep='first'))
# 删除多列中的重复值,保留重复值的最后一个
print('2.\n',df.drop_duplicates(subset=['brand','style'],keep='last'))

# 默认删除所有列同时重复的行
print('3.\n',df.drop_duplicates(keep='first'))

# 重新标记索引
print('4.\n',df.drop_duplicates(keep='first',ignore_index=True))

# 删除重复行的所有行
print('5.\n',df.drop_duplicates(keep=False,ignore_index=True))

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 查找重复行:duplicated()

2.1 函数功能

返回是否为重复行的布尔值Series

2.2 函数语法

DataFrame.duplicated(subset=None, keep='first')

2.3 函数参数

参数含义
subset列标签或列标签组成的列表,默认所有列
keep决定标记重复行中的哪个:first:标记重复行的第一个之外的为True;last:标记重复行的最后一个之外的为True;False:标记所有的重复行为True

2.4 实战演练

df = pd.DataFrame({
    'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],
    'style': ['cup', 'cup', 'cup', 'pack', 'pack'],
    'rating': [4, 4, 3.5, 15, 5]})
print(df)

# 标记重复行第一个之外的为True
print('1.\n',df.duplicated(keep='first'))

# 标记重复行最后一个之外的为True
print('2.\n',df.duplicated(keep='last'))

# 标记所有重复行为True
print('3.\n',df.duplicated(keep=False))

在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值