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

Delete the entire row if the a value in value is equal to previous row in Python

我是 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 函数,因为值稍后会在列中重新出现。我想查看之前的值并删除它。

谁能帮我做这件事?

谢谢

如果你不想只是放弃欺骗:

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"]]