У меня есть образец фрейма данных, как показано ниже (фактический набор данных составляет примерно 300 тыс. Записей):
user_id revenue
----- --------- ---------
0 234 100
1 2873 200
2 827 489
3 12 237
4 8942 28934
... ... ...
96 498 892384
97 2345 92
98 239 2803
99 4985 98332
100 947 4588
, который отображает доход, полученный пользователями. Я хотел бы выбрать строки, в которых генерируются верхние 20% дохода (следовательно, получают верхние 20% пользователей, генерирующих доход).
Наиболее близким мне методом является вычисление общего количества пользователи, отработав 20% этого, сортируя фрейм данных с помощью sort_values()
, а затем используя head()
или nlargest()
, но я хотел бы знать, есть ли более простой и элегантный способ.
Можно кто-нибудь предлагает способ для этого? Спасибо!