熊猫分组过滤器

破烂的泡沫

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

以上查询结果

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

耶斯列尔

首先为避免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]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章