使用布尔语句和操纵原始数据帧

问题描述:

所以,我有一个数据帧,看起来像:enter image description here使用布尔语句和操纵原始数据帧

与308不同ORIGIN_CITY_NAME和12个不同的UNIQUE_CARRIER。

我试图删除的城市,独特的载体航空公司的数量< 5因此,我执行此功能:

enter image description here

现在,我想我想借这个结果并操纵我的原始数据df,以便我可以删除ORIGIN_CITY_NAME所对应的行为TRUE的行。

我有一个想法,即在Python中使用isin()函数或apply(lambda)函数,但我不熟悉如何去做。有没有更好的方法可以解决这个问题?谢谢!

+0

向我们展示您的(不是那么)优雅的代码,我们可以帮助 – 0TTT0

+0

@ 0TTT0'不那么优雅'的代码不起作用,因为我试图使用isin()函数。但是,尽管如此,我会很感激你的一些输入,如果你有任何!谢谢 – misheekoh

+0

@misheekoh我想我知道你在做什么,我已经相应地留下了答案。但是,尝试的代码有几种帮助。通常,你在问一个问题,因为你不明白。很可能,如果你不明白某些事情,你可能会错误地描述它。因此,所提供的代码表明您的尝试可能会澄清您正在尝试执行的操作。它表明你实际上正在努力自己做这件事。这个网站运行于志愿回答问题的人。我们通常不喜欢为那些不愿意付出努力的人做出努力。 – piRSquared

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]