我无法使用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()
热门路线:
[('LAX', 'SFO'),
('DAL', 'HOU'),
('SFO', 'LAX'),
('ORD', 'LGA'),
('HOU', 'DAL')]
我想根据这个标签过滤这个数据帧,只得到“Origin-Dest”的成对条件。例如,新的数据帧应该只包含origin为LAX
、Dest为SFO
的值以及其他成对条件。你知道吗
如果我使用isin
方法,数据帧还将包含值LAX - SFO
,LAX-HOU
。与配对条件不匹配。你知道吗
谢谢!你知道吗
您可以创建一个名为“Route”的新列:
然后按路线分组,得到前5条延误路线
要过滤这些路由上的
flights_df
,请执行以下操作:IIUC,您需要筛选与元组列表匹配的行,使用:
相关问题 更多 >
编程相关推荐