Python 数据帧操作

Python 数据帧操作,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我使用熊猫数据帧来处理我的数据集。我有3栏,机场号,航空公司号和延误。我想删除所有少于5家航空公司的始发机场 我这样做: grouped_size = df.groupby(['OP_CARRIER_AIRLINE_ID','ORIGIN_AIRPORT_ID']).size() 这给了我每个机场的航空公司数量(我希望如此),但我不知道如何删除少于5家航空公司的航空公司。谢谢大家! 这里有一个简单的方法: grouped_size = df.groupby(['OP_CARRIER_AIRLI

我使用熊猫数据帧来处理我的数据集。我有3栏,机场号,航空公司号和延误。我想删除所有少于5家航空公司的始发机场

我这样做:

grouped_size = df.groupby(['OP_CARRIER_AIRLINE_ID','ORIGIN_AIRPORT_ID']).size()

这给了我每个机场的航空公司数量(我希望如此),但我不知道如何删除少于5家航空公司的航空公司。谢谢大家!

这里有一个简单的方法:

grouped_size = df.groupby(['OP_CARRIER_AIRLINE_ID','ORIGIN_AIRPORT_ID']).size().reset_index()
grouped_size.columns = ['OP_CARRIER_AIRLINE_ID','ORIGIN_AIRPORT_ID', 'size']
hi_mask = grouped_size['size'] > 5
grouped_size = grouped_size[hi_mask]

df=df[df.groupby(['OP\u CARRIER\u AIRLINE\u ID','ORIGIN\u AIRPORT\u ID')).transform('count')>=5]
?@coldspeed或使用
groupby(…).filter(…)
-如果一个系列没有被用于任何用途,则保存具体化它?@JonClements,我猜
filter
需要
lambda
?如果是这样,我完全赞成避免使用
lamda
:)。@coldspeed我得到这个错误“ValueError:Boolean数组应该是条件,而不是float64”@KaanYolsever请正确复制整个命令。@谢谢,但我得到这个错误:“>”在“str”和“int”实例之间不受支持。一件事是,当我这样做时,我会丢失其他列。在输出数据结构中保存它们的同时,我如何做到这一点?一旦您执行了
groupby
,您基本上就是在要求pandas计算基本数据帧。因此,您不再使用基本数据帧。如果您只想选择那些满足此条件的,则需要将groupy df与base df合并,然后再次过滤。