我试图从下面的DataFrame df
删除所有重复的记录。
sales_id sales_line
100 1
100 1
200 1
300 2
300 2
400 3
500 1
500 1
600 5
我正在尝试实现的预期输出如下所示。
sales_id sales_line
200 1
400 3
600 5
任何人都可以提供的任何帮助将不胜感激。
答案 0 :(得分:3)
将DataFrame.drop_duplicates
与keep=False
一起使用可删除所有列中的重复项:
df = df.drop_duplicates(keep=False)
print (df)
sales_id sales_line
2 200 1
5 400 3
8 600 5
答案 1 :(得分:1)
您可以尝试使用drop_duplicates(self, subset=None, keep="first", inplace=False)
在您的情况下,该功能的重要部分是keep=False
。
import pandas as pd
data = { 'sales_id' : [100, 100, 200, 300, 300, 400, 500, 500, 600], 'sales_line' : [1, 1, 1, 2, 2, 3, 1, 1, 5] }
df = pd.DataFrame(data)
print('Source DataFrame:\n', df)
df_dropped = df.drop_duplicates(subset=['sales_id', 'sales_line'], keep=False)
print('Result DataFrame:\n', df_dropped)
答案 2 :(得分:0)
data.drop_duplicates(keep = False, inplace = True)
这将为您提供预期的输出