There is a Pandas dataframe: performer hits chart_debut time_on_chart consecutive_weeks decade num_of_hits 3428 Glee Cast Somebody To Love, Friday, Loser Like Me, Baby,... 2009 290 47.0 2000-2010 191 8478 Taylor Swift Fifteen, Fearless, London Boy, Teardrops On My... 2008 14299 11880.0 2000-2010 166 2543 Drake Summer Sixteen, The Language, Weston Road Flow... 2016 7449 6441.0 2010-2020 125 10397 YoungBoy Never Broke Again Kacey Talk, Put It On Me, Dirty Iyanna, Lil To... 2020 1012 625.0 2020-2030 75 458 Aretha Franklin Chain Of Fools, My Song, Respect, Until You Co... 1967 3490 2921.0 1960-1970 66 8625 The Beatles Sgt. Pepper's Lonely Hearts Club Band/With A L... 1978 3548 2798.0 1970-1980 66 Write a function year_leaders that will build a new dataframe and leave 1 line of performer and hits (having a maximum number of num_of_hits) in each chart_debut value
def year_leaders(df): df=df.groupby(df.chart_debut).apply(lambda x: x.sort_values('num_of_hits',ascending=False)).reset_index(drop=True) df=df.groupby('chart_debut').head(1) return df year_leaders(df)