drop_duplicates 方法实现对数据框 DataFrame 去除特定列的重复行,返回 DataFrame 格式数据。
使用语法:
DataFrame.drop_duplicates(subset=None, keep='first', inplace=False, ignore_index=False)
参数:
import pandas as pd df = pd.DataFrame({'a':[1,1,2,2], 'b':['a','b','a','b']}) # 单列 df.drop_duplicates('b', 'first', inplace=True) print(df) ''' a b 0 1 a 1 1 b ''' # 多列 df.drop_duplicates(subset=['a', 'b'], keep='first', inplace=False) # 删除所有重复项 不保留 df.drop_duplicates(subset=['a', 'b'], False)
# 构建测试数据框 import pandas as pd df = pd.DataFrame({ 'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'], 'style': ['cup', 'cup', 'cup', 'pack', 'pack'], 'rating': [4, 4, 3.5, 15, 5] }) # 默认按所有列去重 df.drop_duplicates() # 指定列 df.drop_duplicates(subset=['brand']) # 保留最后一个重复值 df.drop_duplicates(subset=['brand', 'style'], keep='last')
# 方法一 df.drop_duplicates(ignore_index=True) # 方法二 df.drop_duplicates().reset_index(drop=True) # 方法三 df.index = range(df.shape[0])