重复值--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))

重复值--Pandas_第1张图片
重复值--Pandas_第2张图片
重复值--Pandas_第3张图片

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))

重复值--Pandas_第4张图片
重复值--Pandas_第5张图片

你可能感兴趣的:(Pandas,pandas,python,开发语言)