使用布尔语句和操纵原始数据帧
问题描述:
所以,我有一个数据帧,看起来像:使用布尔语句和操纵原始数据帧
与308不同ORIGIN_CITY_NAME和12个不同的UNIQUE_CARRIER。
我试图删除的城市,独特的载体航空公司的数量< 5因此,我执行此功能:
现在,我想我想借这个结果并操纵我的原始数据df,以便我可以删除ORIGIN_CITY_NAME所对应的行为TRUE的行。
我有一个想法,即在Python中使用isin()函数或apply(lambda)函数,但我不熟悉如何去做。有没有更好的方法可以解决这个问题?谢谢!
答
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]
向我们展示您的(不是那么)优雅的代码,我们可以帮助 – 0TTT0
@ 0TTT0'不那么优雅'的代码不起作用,因为我试图使用isin()函数。但是,尽管如此,我会很感激你的一些输入,如果你有任何!谢谢 – misheekoh
@misheekoh我想我知道你在做什么,我已经相应地留下了答案。但是,尝试的代码有几种帮助。通常,你在问一个问题,因为你不明白。很可能,如果你不明白某些事情,你可能会错误地描述它。因此,所提供的代码表明您的尝试可能会澄清您正在尝试执行的操作。它表明你实际上正在努力自己做这件事。这个网站运行于志愿回答问题的人。我们通常不喜欢为那些不愿意付出努力的人做出努力。 – piRSquared