如果值中的a值等于Python中的上一行,则删除整行

时间:2015-08-05 20:34:26

标签: python duplicates duplicate-removal duplication

我是python编程的新手,我需要一个帮助来根据数据框中单个列的值删除整行。如果单列中的值等于前一行值,我想删除该行。

以下是我的数据

  x.id x.timestamp x.count
71    1  1435114605      61
72    1  1435114606      61
73    1  1435114659      61
74    1  1435114719      62
75    1  1435114726      62
76    1  1435114780      62
77    1  1435155998      62
78    1  1435156059      62
79    1  1435156076      62
80    1  1435156119      62

这里我想根据x.x.count值删除行。

我的输出应该是,

  x.id x.timestamp x.count
71    1  1435114605      61
74    1  1435114719      62

我无法使用drop_duplicates函数,因为这些值将在稍后的列中重新执行。我想检查以前的值并将其删除。

有人可以帮我这么做吗?

由于

1 个答案:

答案 0 :(得分:1)

如果你不想丢弃欺骗行为:

import pandas as pd

df = df.groupby((df["x.count"] != df["x.count"].shift()).cumsum().values).first()

或者:

df = df.loc[df["x.count"].shift() != df["x.count"]]