Похоже, что вы суммируете неправильный столбец в вашем примере, переход на популяцию дал бы вам большую часть пути:
df.groupby('S/T name')['population'].sum()
Поскольку вы хотите сохранить столбец кода S / T, вы можете использовать agg . Вызов суммы в вашем столбце населения и среднего значения в вашем столбце кода S / T:
df.groupby('S/T name').agg({'population': 'sum', 'S/T code': 'mean'})
Выход:
S/T name S/T code population
NSW 1 3100
Victoria 2 3500