Вы можете использовать np.where
для создания категорий rich
и poor
, затем groupby
этой категории и получить сумму:
df['country_cat'] = np.where(df.GDP < 9, 'poor', 'rich')
df.groupby('country_cat')['score'].sum()
country_cat
poor 5
rich 13
Вы также можете сделать то же самое за один шаг, не создавая дополнительный столбец для категории (но IMO код становится менее читабельным):
df.groupby(np.where(df.GDP < 9, 'poor', 'rich'))['score'].sum()