[英]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.