【发布时间】:2018-12-21 22:07:58
【问题描述】:
在 python 中,我有一个熊猫数据框df,如下所示:
ID Geo Speed
123 False 40
123 True 90
123 True 80
123 False 50
123 True 10
456 False 10
456 True 90
456 False 40
456 True 80
我想将df 按ID 分组,并过滤掉Geo == False 所在的行,并得到Speed 在组中的平均值。所以结果应该是这样的。
ID Mean
123 60
456 85
我的尝试:
df.groupby('ID')["Geo" == False].Speed.mean()
df.groupby('ID').filter(lambda g: g.Geo == False)
df[df.Geo.groupby(df.ID) == False]
他们都没有工作。 有什么解决办法吗?谢谢!
【问题讨论】:
-
df[df["Geo"] == False].groupby('ID')['Speed'].mean()
标签: python pandas filter group-by mean