[英]How to delete a row in a dataframe based on a column event with consecutive same value
For example, the below is a data frame:例如,下面是一个数据框:
Index Name Action
0 result pass
1 result fail
2 result fail
3 result pass
4 result fail
5 result pass
6 result pass
7 result pass
Here we are taking reference of "Action" column, consecutive 'pass' or 'fail' will result only last one of the row to be present.这里我们参考了“Action”列,连续的“通过”或“失败”将导致只有最后一行出现。
so expected output will be as below:所以预期输出如下:
Index Name Action
0 result pass
2 result fail
3 result pass
4 result fail
7 result pass
Use Series.ne
with Series.shift
with -1
for mask for last rows and filter by boolean indexing
:使用
Series.ne
with Series.shift
with -1
作为最后一行的掩码并通过boolean indexing
过滤:
df = df[df['Action'].ne(df['Action'].shift(-1))]
print (df)
Name Action
0 result pass
2 result fail
3 result pass
4 result fail
7 result pass
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.