根据条件为整个组放置熊猫行

时间:2019-10-06 23:36:11

标签: python pandas

import seaborn
df = seaborn.load_dataset('flights')

我想删除每年平均乘客数量少于200人的年份。我尝试过

df[df.groupby(['year'])['passengers'].mean() > 200] 

但出现此错误:

*** pandas.core.indexing.IndexingError: Unalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not match).

在正确的答案中,数据框应该删除以下年份的行: 1949、1950、1951、1952

1 个答案:

答案 0 :(得分:1)

我认为,您需要:

  • ,按
  • 过滤器组,检查是否乘客 当前组是> 300。

因此代码应为:

df.groupby(['year']).filter(lambda x: x.passengers.mean() > 300)