使用308个不同的ORIGIN_CITY_NAME和12个不同的UNIQUE_CARRIER。
我正在尝试删除独特航空公司航班数量的城市。 5因此,我执行了这个功能:
现在,我希望我能够获取此结果并操纵原始数据df,以便我可以删除ORIGIN_CITY_NAME对应的行为TRUE。
我有一个想法是在Python中使用isin()函数或apply(lambda)函数,但我不熟悉如何去做。有更优雅的方式来解决这个问题吗?谢谢!
答案 0 :(得分:1)
filter
是为此而制作的
df.groubpy('ORIGIN_CITY_NAME').filter(
lambda d: d.UNIQUE_CARRIER.nunique() >= 5
)
然而,为了继续沿着这条路,你试图从......获得结果。
我使用map
mask = df.groubpy('ORIGIN_CITY_NAME').UNIQUE_CARRIER.nunique() >= 5
df[df.ORIGIN_CITY_NAME.map(mask)]
或transform
mask = df.groupby('ORIGIN_CITY_NAME').UNIQUE_CARRIER.transform(
lambda x: x.nunique() >= 5
)
df[mask]