我有一个包含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
答案 0 :(得分: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)))