У меня проблемы с фильтрацией данных, используя результат условия groupby.Я уже пытался использовать маску с isin()
, но она не возвращает только парные условия.
Предположим, у меня есть такой набор данных, как показано ниже:
Dest Origin DepDelay
0 TPA IAD 8.0
1 TPA IAD 19.0
2 BWI IND 8.0
4 BWI IND 34.0
5 JAX IND 25.0
6 LAS IND 67.0
8 MCI IND 2.0
10 MCO IND 6.0
11 MCO IND 94.0
... .... ... ...
7009710 ATL MSP 30.0
Я хочу отфильтровать этоиспользуя результат условия groupby, где я получил все 5 лучших маршрутов.Чтобы получить маршруты, я использовал этот код:
top_5_route = flights_df[flights_df['DepDelay'] > 0].groupby(['Origin', 'Dest'])['Dest'].size().nlargest(5).index.to_list()
top_5_route:
[('LAX', 'SFO'),
('DAL', 'HOU'),
('SFO', 'LAX'),
('ORD', 'LGA'),
('HOU', 'DAL')]
Я хочу отфильтровать этот фрейм данных на основе этих меток, чтобы получить только парные условиядля «Происхождение - Дест».Например, новый фрейм данных должен содержать только те значения, где origin LAX
, а Dest SFO
и другие парные условия.
Если я использую метод isin
, dataframe также будет содержать значения LAX - SFO
, LAX-HOU
.Это не соответствует парному условию.
Спасибо!