Найти id, которые заработали больше других и в сумме заработали 60% денег

У меня есть таблица с данными и мне надо найти id, которые заработали больше других и в сумме заработали 60% денег. Таблица изначальна выглядела так:

введите сюда описание изображения

Я посчитал заработанные деньги для каждого id и отсортировал их по возрастанию

введите сюда описание изображения

Вопрос: как найти id, которые заработали больше других и в сумме заработали 60% денег


Ответы (1 шт):

Автор решения: CrazyElf

Ну как-то так, хотя код не проверял:

# будем отсекать нижние 40% всех заработанных денег
sum40perc = df['sum'].sum() * 0.4

# считаем кумулятивную сумму денег
cumsum = df['sum'].cumsum()

# берём верхние 60% заработанных денег
df.loc[cumsum > sum40perc]
→ Ссылка