当前位置:   article > 正文

重复值处理--Pandas_pandas去除重复行

pandas去除重复行

1. 删除重复行:drop_duplicate()

1.1 函数功能

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

1.2 函数语法

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

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))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

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

2. 查找重复行:duplicated()

2.1 函数功能

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

2.2 函数语法

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

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/540965
推荐阅读
相关标签
  

闽ICP备14008679号