Compare same and adjacent values in dataframe python

Viewed 55

I have mydata like this:

mydata = {'ID':['53','53','53','56','56','56','87','87','87','87'],'Symbole': ['C','C','C','D','D','D','R','K','K','A','T'] ,'Type':['NA - AT', 'AT - CN','CN - UK','NA - AT,'AT - ER', 'AT - ER','EC - FR','FR - GE', 'FR - GE','FR - GE']}
df=pd.DataFrame(data=mydata)
ID Symbole Type
53 C NA - AT
53 C AT - CN
53 C CN - UK
56 D NA - AT
56 D AT - ER
56 D AT - ER
87 R EC - FR
87 K FR - GE
87 A FR - GE
87 T FR - GE

I want search value Type if have same and adjacent values.

output:

ID Symbole Type
56 D NA - AT
56 D AT - ER
56 D AT - ER
87 R EC - FR
87 K FR - GE
87 A FR - GE
87 T FR - GE

my code:

df.groupby(['ID']).apply(lambda x: x.Type == x.Type.shift(1))

but error:

'Series' objects are mutable, thus they cannot be hashed

Thank you so much

1 Answers

Try to use mask

>>> mask =df['m']==df['m'].shift(1)
>>> df[mask]
Related