我在数据框中有时间序列数据,如下所示:
Index Time Value_A Value_B
0 1 A A
1 2 A A
2 2 B A
3 3 A A
4 5 A A
我想删除Value_A和Value_B列中的副本,以便仅在遇到不同的模式时才会删除重复项。此示例数据的结果应为:
Index Time Value_A Value_B
0 1 A A
2 2 B A
3 3 A A
答案 0 :(得分:9)
检测连续组的常用技巧是将某些内容与自身的移位版本进行比较。例如:
In [137]: cols = ["Value_A", "Value_B"]
In [138]: df[~(df[cols] == df[cols].shift()).all(axis=1)]
Out[138]:
Time Value_A Value_B
Index
0 1 A A
2 2 B A
3 3 A A