I want to filter my dataframe.
My dataframe
Col1 col2
0 A event1
1 A event2
2 A event3
3 A event2
4 B event1
5 B event3
6 B event2
7 B event2
The output dataframe
Col1 col2
A event1
B event1
B event3
It should return the rows before event2 for each group. so far i tried
df.groupby('col1').apply(lambda x :x[0:x[x['col2'] == 'event2'].index[0]])
But it's not returning the required rows.