как сгруппировать несколько строк в 1 группу с диапазоном значений в pandas?

#python #pandas

#python #pandas

Вопрос:

Итак, у меня есть такой набор данных

 |flt   |OrgiDest|Gt  |
|------|--------|----|
|CX 261| CDG    |1.0 |
|CX 383| ZRH    |2.0 |
|CX 880| LAX    |3.0 |
|CX 105| MEL    |5.0 |
|CX 237| LHR    |5.0 |
 

Моя конечная цель — найти 5 лучших встречаемости flt в диапазоне Gt 3.0 — 5.0, я попытался отсортировать по Gt от min до max, но не знаю, каков следующий шаг.

Комментарии:

1. Можете ли вы добавить ожидаемый результат? Может быть, данные следует изменить, для более простых выборочных данных можно использовать top3?

Ответ №1:

Используйте Series.between with Series.value_counts и получите первые 5 значений индекса:

 df.loc[df['Gt'].between(3,5), 'flt'].value_counts().index[:5]