Below is the Raw Data. I want only those event which will repeat in given set of list of years. Eg [2012,2013]. So now it should only get data if event is repeated in one of the given year in the list.
Event Year Event 1 2012 Event 1 2013 Event 1 2014 Event 1 2015 Event 2 2012 Event 2 2013 Event 3 2014 Event 3 2015 Event 3 2014 Event 4 2012 Event 4 2015 Event 5 2013
I want below output.
Event Year Event 1 2012 Event 1 2013 Event 1 2014 Event 1 2015 Event 2 2012 Event 2 2013 Event 4 2012 Event 4 2015 Event 5 2013
Advertisement
Answer
You can try groupby and filter
lst = [2012, 2013]
out = df.groupby('Event').filter(lambda g: g['Year'].isin(lst).any())
print(out)
Event Year
0 Event 1 2012
1 Event 1 2013
2 Event 1 2014
3 Event 1 2015
4 Event 2 2012
5 Event 2 2013
9 Event 4 2012
10 Event 4 2015
11 Event 5 2013