Python 熊猫:删除重复的行对

Python 熊猫:删除重复的行对,python,pandas,dataframe,duplicates,Python,Pandas,Dataframe,Duplicates,我有下面的数据框在Py中 source target value type 0 10 1200 0.500 Undirected 1 13 3333 0.600 Undirected 2 10 1200 0.500 Undirected 3 15 2300 0.350 Undirected 4 18 5300 0.250 Undirected 5 17 2300 0.100 Undir

我有下面的数据框在Py中

    source  target  value   type
0   10  1200    0.500   Undirected
1   13  3333    0.600   Undirected
2   10  1200    0.500   Undirected
3   15  2300    0.350   Undirected
4   18  5300    0.250   Undirected
5   17  2300    0.100   Undirected
6   13  3333    0.600   Undirected
  • 我喜欢删除每个重复的行(出现两次或两次) 更多)。在本例中,包含索引0和索引2的行 索引1和索引6应被标识为重复项,以便我们只保留其中一个条目
  • 如何显示源和目标的副本?我喜欢反复检查“值”是否真的总是相同的
  • 安装程序 解决方案 解释
    df.duplicated()
    返回复制内容的布尔掩码

    df.drop_duplicates()
    删除重复的行


    keep=False
    指定删除所有已复制的行,而不是保留第一行或最后一行

    只需使用
    .drop_duplicates()
    .duplicated()
    OP希望删除任何重复的值,而不仅仅是删除额外的重复值values@EdChum谢谢,修好了。将
    keep=False
    添加到
    drop\u duplicates
    from StringIO import StringIO
    import pandas as pd
    
    text="""    source  target  value   type
    0   10  1200    0.500   Undirected
    1   13  3333    0.600   Undirected
    2   10  1200    0.500   Undirected
    3   15  2300    0.350   Undirected
    4   18  5300    0.250   Undirected
    5   17  2300    0.100   Undirected
    6   13  3333    0.600   Undirected"""
    
    df = pd.read_csv(StringIO(text), delim_whitespace=True, index_col=[0])
    
    print df[df.duplicated()]
    
       source  target  value        type
    2      10    1200    0.5  Undirected
    6      13    3333    0.6  Undirected
    
    print df.drop_duplicates(keep=False)
    
       source  target  value        type
    3      15    2300   0.35  Undirected
    4      18    5300   0.25  Undirected
    5      17    2300   0.10  Undirected