DataFrame.drop_duplicates(self,subset = None,keep ='first',inplace = False)
返回删除了重复行的DataFrame,可选择仅考虑某些列。包括时间索引在内的索引将被忽略。
参数: | subset : 列标签或标签序列,可选 仅考虑用于标识重复项的某些列,默认情况下使用所有列 keep : {'first','last',False},默认'first' inplace : 布尔值,默认为 是否删除重复项或返回副本 |
返回: | 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)