当前位置: 首页 > 知识库问答 >
问题:

在Python Pandas中删除多个列中的所有重复行

章玮
2023-03-14

熊猫drop_duplicates函数非常适合统一数据帧。但是,要传递的关键字参数之一是take_last=Truetake_last=False,而我希望删除列子集中所有重复的行。这有可能吗?

    A   B   C
0   foo 0   A
1   foo 1   A
2   foo 1   B
3   bar 1   A

例如,我想删除与列AC匹配的行,因此这应该删除行0和1。

共有3个答案

史景铄
2023-03-14

如果希望结果存储在另一个数据集中:

df.drop_duplicates(keep=False)

df.drop_duplicates(keep=False, inplace=False)

如果需要更新相同的数据集:

df.drop_duplicates(keep=False, inplace=True)

以上示例将删除所有重复并保留一个,类似于SQL中的DISTINCT*

董谦
2023-03-14

我只想在Ben关于drop_duplicates的回答中添加以下内容:

保留:{'first','last',False},默认值为'first'

>

  • 第一:除去第一次出现的重复项。

    最后:删除除最后一次出现之外的重复项。

    False:删除所有重复项。

    因此,将保持设置为False将为您提供所需的答案。

    DataFrame.drop_duplicates(*args,**kwargs)返回删除重复行的DataFrame,可以选择仅考虑某些列

    参数:子集:列标签或标签序列,可选地只考虑某些列来标识重复,默认情况下使用所有列保持:{“第一”、“最后”、“false }”、“默认”第一个:删除第一次出现时的重复。最后:删除除最后一次出现之外的重复项。False:删除所有重复项。take_last:deprecated in place:boolean,默认为False是就地删除重复项还是返回副本cols:kwargs only subset[deprecated]的参数返回:已删除重复项:DataFrame

  • 郑嘉悦
    2023-03-14

    现在,使用drop_duplicates和keep参数,在pandas中,这要容易得多。

    import pandas as pd
    df = pd.DataFrame({"A":["foo", "foo", "foo", "bar"], "B":[0,1,1,1], "C":["A","A","B","A"]})
    df.drop_duplicates(subset=['A', 'C'], keep=False)
    
     类似资料:
    • 问题内容: 这个问题已经在这里有了答案 : 在MySQL中删除重复的行 (25个答案) 3个月前关闭。 如何从MySQL表中删除所有重复数据? 例如,具有以下数据: 我会使用,如果它是一个查询。 我该怎么做才能只删除重复项并仅保留每个记录一个? 问题答案: 编辑者警告:此解决方案的计算效率低下,可能会降低大型表的连接。 注意:您 需要 首先在表的 测试副本 上执行此操作! 完成此操作后,我发现,除

    • 我需要删除所有行而不留下任何唯一记录。如果存在重复,则删除所有匹配的行。Criteria是C列,如果C列中存在任何重复记录,则删除整行(包括unique)。

    • 问题内容: 我在一个表中有多组重复项(一个表有3条记录,另一个表有2条记录,等等)-存在多于1行的多行。 以下是我想删除它们的方法,但是无论有多少重复,我都必须运行脚本: 这在一定程度上效果很好。我需要为每组重复项运行此命令,然后它只会删除1(这是我现在需要的全部)。 问题答案: 如果表上有键列,则可以使用它来唯一地标识表中的“不同”行。 只需使用子查询来标识唯一行的ID列表,然后删除此集合之外的

    • 问题内容: 如何从MySQL表中删除所有重复数据? 例如,具有以下数据: 我会使用,如果它是一个查询。 我该怎么做才能只删除重复项并仅保留每个记录一个? 问题答案: 编辑者警告:此解决方案的计算效率低下,可能会降低大型表的连接。 注意:您 需要 首先在表的 测试副本 上执行此操作! 完成此操作后,我发现,除非也包含,否则它将删除表中的每一行。 如果要使行的值保持最低,请执行以下操作: 如果要保留最

    • 对于包含10列的数据框,如何删除索引2以上的列。数据框如下所示: 任务是删除列3-列10

    • 问题内容: 我将如何使用python检查列表并删除所有重复项?我不需要指定重复项是什么- 我希望代码找出是否存在重复项,如果有则将其删除,每个重复项仅保留一个实例。如果列表中有多个重复项,它也必须起作用。 例如,在下面的代码中,列表lseparatedOrbList有12个项目-一项被重复六次,一项被重复五次,并且只有一个实例。我希望它更改列表,因此只有三项-每一项,并且它们之前出现的顺序相同。我