【发布时间】:2018-11-12 00:53:17
【问题描述】:
我使用 pandas 数据框来处理我的数据集。我有 3 列,airport_id airport_id 和 delay。我想删除所有少于 5 家航空公司的始发机场。
我这样做了:
grouped_size = df.groupby(['OP_CARRIER_AIRLINE_ID','ORIGIN_AIRPORT_ID']).size()
这给了我每个机场的航空公司数量(我希望),但我不知道如何删除少于 5 家航空公司的航空公司。谢谢!
【问题讨论】:
-
df = df[df.groupby(['OP_CARRIER_AIRLINE_ID','ORIGIN_AIRPORT_ID']).transform('count') >= 5]? -
@coldspeed 或使用
groupby(...).filter(...)- 如果系列没有用于任何用途,请保存它? -
@JonClements,我猜
filter需要lambda?如果是这样,我都赞成避免lamda:)。 -
@coldspeed 我收到此错误“ValueError: Boolean array expected for the condition, not float64”
-
@KaanYolsever 请正确复制整个命令。
标签: python pandas pandas-groupby