熊猫分组过滤器

时间:2020-10-13 09:36:49

标签: pandas

我试图将过滤器应用于分组功能,但是语法不正确。通常,我们在SQL的分组功能上应用过滤器的方式是在Pandas中寻找相同的功能。 这是我的查询,我想在count> = 5时过滤结果 home.groupby('location')。agg({'price_per_sqft':['mean','std','count']})

Result of above query

您能告诉我过滤结果的方法吗?

1 个答案:

答案 0 :(得分:0)

为避免出现这种情况,首先MultiIndexprice_per_sqft之后添加列groupby,然后按boolean indexing进行过滤:

df = home.groupby('location')['price_per_sqft'].agg(['mean','std','count'])
df1 = df[df['count']>=5]

DataFrame.query

df1 = df.query("count>=5")

另一个想法是使用聚合:

df = home.groupby('location').agg(avg=('price_per_sqft', 'mean'),
                                  std=('price_per_sqft', 'std'),
                                  counts=('price_per_sqft', 'count'))
df1 = df[df['counts']>=5]