DataFrame.drop_duplicates() 方法用于删除DataFrame中的重复行。它可以基于所有列或特定列来检测重复值,并返回一个新的DataFrame或修改原始DataFrame。本文主要介绍一下Pandas中pandas.DataFrame.drop_duplicates方法的使用。

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

返回删除了重复行的DataFrame,可选择仅考虑某些列。包括时间索引在内的索引将被忽略。

参数

subset : 列标签或标签序列,可选

仅考虑用于标识重复项的某些列,默认情况下使用所有列

keep : {'first','last',False},默认'first'

  first :删除第一次出现的重复项。

  last :删除重复项,除了最后一次出现。

  False:删除所有重复项。

inplace : 布尔值,默认为False,

是否删除重复项或返回副本

返回

DataFrame

例子

1)删除所有列中的重复行

import pandas as pd

# 创建示例DataFrame
data = {'A': [1, 2, 2, 3, 4, 4, 5],
        'B': ['a', 'b', 'b', 'c', 'd', 'd', 'e']}
df = pd.DataFrame(data)

# 删除重复行,保留第一次出现的行
df_no_duplicates = df.drop_duplicates()

print(df_no_duplicates)

2)基于特定列删除重复行

import pandas as pd

# 创建示例DataFrame
data = {'A': [1, 2, 2, 3, 4, 4, 5],
        'B': ['a', 'b', 'b', 'c', 'd', 'd', 'e']}
df = pd.DataFrame(data)

# 仅基于列 'A' 删除重复项
df_no_duplicates_A = df.drop_duplicates(subset=['A'])

print(df_no_duplicates_A)

3)保留最后一次出现的重复项

import pandas as pd

# 创建示例DataFrame
data = {'A': [1, 2, 2, 3, 4, 4, 5],
        'B': ['a', 'b', 'b', 'c', 'd', 'd', 'e']}
df = pd.DataFrame(data)

# 基于列 'A' 删除重复项,保留最后一次出现的行
df_no_duplicates_last = df.drop_duplicates(subset=['A'], keep='last')

print(df_no_duplicates_last)

推荐文档

相关文档

大家感兴趣的内容

随机列表