Python 如何基于具有连续相同值的列事件删除数据帧中的行

Python 如何基于具有连续相同值的列事件删除数据帧中的行,python,pandas,dataframe,Python,Pandas,Dataframe,例如,下面是一个数据帧: Index Name Action 0 result pass 1 result fail 2 result fail 3 result pass 4 result fail 5 result pass 6 result

例如,下面是一个数据帧:

   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
在这里,我们引用“Action”列,连续的“pass”或“fail”只会导致最后一行出现

因此,预期产出如下:

   Index      Name       Action
    0          result    pass
    2          result    fail
    3          result    pass
    4          result    fail
    7          result    pass
-1
一起使用,用于最后一行的掩码,并通过以下方式进行过滤:

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