在熊猫时间序列数据框中删除重复项

Posted

技术标签:

【中文标题】在熊猫时间序列数据框中删除重复项【英文标题】:Drop duplicates in pandas time series dataframe 【发布时间】:2016-10-02 19:16:36 【问题描述】:

我的数据框中有时间序列数据,如下所示:

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

【问题讨论】:

【参考方案1】:

检测连续组的常用技巧是将某事物与其自身的移位版本进行比较。例如:

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

【讨论】:

谢谢,正是我需要的!

以上是关于在熊猫时间序列数据框中删除重复项的主要内容,如果未能解决你的问题,请参考以下文章

如何在熊猫数据框中找到重复项? [复制]

熊猫在 groupby 中删除重复项 [重复]

从 PySpark 中的数据框中删除重复项

从 PySpark 中的数据框中删除重复项

在 pyspark 数据框中使用 write.partitionBy 时如何删除重复项?

如何根据熊猫数据框中的部分匹配来隔离重复项