我试图将过滤器应用于分组功能,但是语法不正确。通常,我们在SQL的分组功能上应用过滤器的方式是在Pandas中寻找相同的功能。 这是我的查询,我想在count> = 5时过滤结果 home.groupby('location')。agg({'price_per_sqft':['mean','std','count']})
您能告诉我过滤结果的方法吗?
答案 0 :(得分:0)
为避免出现这种情况,首先MultiIndex
在price_per_sqft
之后添加列groupby
,然后按boolean indexing
进行过滤:
df = home.groupby('location')['price_per_sqft'].agg(['mean','std','count'])
df1 = df[df['count']>=5]
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]