Построение CDF для ранжирования

У меня есть кадр данных panda, который выглядит следующим образом, он создается с помощью команды groupby, а затем сортируется по количеству пользователей, чтобы дать мне количество пользователей для верхней комбинации функций X.

count_28day,  Feature1,   Feature2,  Feature3
5000           a1           b1         c1
1000           a2           b2         c2
50             a3           b3         c3

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

Я делаю это очень хакерским способом.

topx = table.count_28day.sort_values(ascending=False).cumsum()/sum(table.count_28day)
ser_cdf = pd.Series(topx.tolist()[1:100], index=pd.Series(range(1,100)))
ser_cdf.plot(drawstyle='steps')

Есть ли более элегантный способ сделать это с помощью гистограммы или ecdf или чего-то еще?


person vagavince    schedule 26.12.2019    source источник
comment
Отвечает ли это на ваш вопрос? Построить график CDF + кумулятивную гистограмму с использованием Seaborn Python   -  person null    schedule 26.12.2019
comment
Спасибо за ссылку. Этот пост показывает, как построить cdf из необработанных данных. Здесь я собрал ранжированные данные. Мне не нужно создавать какую-либо корзину, мне просто нужно построить совокупный процент для каждого ранга.   -  person vagavince    schedule 27.12.2019