繁体   English   中英

如果value中的a值等于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

在这里,我想基于xxcount值删除行。

我的输出应该是

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM