В pandas можно сделать проще.
Реализация рассчитана на любое количество групп.
df = df.sort_values(['Genre', 'Spending Score (1-100)'])
b = [df[df.Genre == i].iloc[-7:, [2,3]].mean().values for i in df.Genre.unique()]
pd.DataFrame(b, index = pd.Index(df.Genre.unique(), name='Пол'), columns=['Средний возраст', 'Средний годовой доход'])
.