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)