Разделите фрейм данных на 3 сегмента на основе суммы одного столбца

У меня есть датафрейм

c1     c2
user1  5 
user2  3
user3  3
user4  1

Я хочу разделить фреймы данных на 3 равные группы на основе общей суммы c2

общая сумма c2 = 12/3 = 4

In this case user1 have value 5 (>4) Ist group , user2 and user3 (total 6) >4(2nd group), and remaining all should be in 3rd group

так что мой ожидаемый фреймворк

    c1     c2  rank
    user1  5   1
    user2  3   2
    user3  3   2
    user4  1   3

Я пытаюсь использовать функцию окна и пользовательскую функцию окна, но пока не повезло.

Какой код вы пробовали и каков результат? Меня тоже немного смущает то, что вы хотите. Кажется, вы хотите, чтобы все было сгруппировано по значению в C2?

Ethan 13.09.2018 21:14

@ethan Я дал ожидаемый результат, не могли бы вы проверить, я пытаюсь создать настраиваемую оконную функцию, которая должна возвращать значения ранга, которые я упомянул в ожидаемом выходе.

John 13.09.2018 21:32

Можете показать, что пробовали? Без существующего кода трудно понять, какие шаги вам не хватает.

Ethan 13.09.2018 22:45
0
3
102
0

Другие вопросы по теме