使用列值删除部分重复的行

时间:2019-02-20 04:13:08

标签: python pandas

我正在尝试清理有很多部分重复的数据,仅当Col A中的键重复时才存储第一行数据。

    A       B    C     D
0   foo     bar  lor   ips
1   foo     bar      
2   test    do    kin  ret
3   test    do     
4   er      ed    ln    pr

清洗后的预期产量

    A       B    C     D
0   foo     bar  lor   ips
1   test    do    kin  ret
2   er      ed    ln    pr

我一直在研究诸如drop_duplicates甚至group_by之类的方法,但在我的情况下它们并没有真正的帮助:重复是部分的,因为某些行包含空数据,并且在col A和B中只有相似的值。 按部分工作分组,但不返回转换后的数据,它们只是进行过滤。

我对熊猫很陌生,非常感谢指针。我可能可以在熊猫外面做,但我认为可能会有更好的方法。

编辑:对不起,我只注意到我在提供的示例中犯了一个错误。 (测试已变成“ tes”

1 个答案:

答案 0 :(得分:0)

在您的情况下,您会说部分重复吗?请提供复杂的示例。在上面的示例中,您可以尝试Col B,而不是Col A重复。

可以从下面的代码段中获得预期的输出,

print (df.drop_duplicates(subset=['B']))

注意:建议的解决方案仅适用于以上示例,但具有不同的col A和相同Col B值时将不起作用。