2

我有一个数据框,其列名如 Date、Source1 等。如何从所有重复项中仅删除最后一个重复行。

   Date         |     Source1
----------------|---------------------
3-Sep-11        |       JKY    
3-Sep-11        |       CYK
3-Sep-11        |       JKY
3-Sep-11        |       JKY
3-Sep-11        |       XYZ
4-Sep-11        |       JKY
4-Sep-11        |       CYK 

我想得到结果

   Date         |     Source1
----------------|---------------------
3-Sep-11        |       JKY    
3-Sep-11        |       CYK
3-Sep-11        |       JKY
3-Sep-11        |       XYZ
4-Sep-11        |       JKY
4-Sep-11        |       CYK 
4

1 回答 1

0

这就是事情。

s = """
   Date         |     Source1
----------------|---------------------
3-Sep-11        |       JKY    
3-Sep-11        |       CYK
3-Sep-11        |       JKY
3-Sep-11        |       JKY
3-Sep-11        |       XYZ
4-Sep-11        |       JKY
4-Sep-11        |       CYK 
"""

had_duplicate = False
stack = []

for e in reversed(s.splitlines()):
    if not had_duplicate and e in stack :
        had_duplicate = True
        continue
    stack.append(e)

print('\n'.join(reversed(stack)))
于 2013-06-05T10:23:04.217 回答