删除重复的行和原始行-Pandas

时间:2019-12-12 12:38:00

标签: python pandas

我试图从下面的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

任何人都可以提供的任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:3)

DataFrame.drop_duplicateskeep=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)

这将为您提供预期的输出