我有一个DataFrame,看起来像这样:
Column1 Column2
0 cat A
1 cat B
2 cat C
3 dog D
4 dog E
5 cat F
我想删除除列1具有重复值的连续行外的所有行。因此,我想删除第1、2和4行,但我想保留第0、3和5行。如果我没弄错的话,drop_duplicate几乎可以工作,但会删除第5行。Cat和dog可能在后面的行中出现多次,但是我只想保留任何连续行中的一个。
我试过df。drop_duplduplicate(子集='cat', keep='first'),但是删除了第5行
您可以使用:
out = df.groupby(df['Column1'].ne(df['Column1'].shift()).cumsum()).head(1)
输出:
Column1 Column2
0 cat A
3 dog D
5 cat F