【发布时间】:2018-11-20 17:56:13
【问题描述】:
好的,这就是我想要做的:
我有一个这样的数据框:
data = pd.DataFrame(
{'a' : [1,1,1,2,2,3,3,3],
'b' : [23,45,62,24,45,34,25,62],
})
我设法使用以下代码计算了按列“b”分组的“a”列的平均值:
data.groupby('b', as_index=False)['a'].mean()
这导致了这样的 DataFrame:
但是,我只想计算在 DataFrame 中多次出现的 'b' 值的平均值,从而得到如下所示的 Dataframe:
我尝试使用以下行来做到这一点:
data.groupby('b', as_index=False).filter(lambda group: len(group)>1)['a'].mean()
但它会导致第 1、2、4 和 7 行的平均值,这显然不是我想要的。 有人可以帮我获取所需的 DataFrame 并告诉我我在使用过滤器功能时遇到了什么问题吗?
谢谢!
【问题讨论】:
标签: python pandas dataframe pandas-groupby