首页 > 解决方案 > python groupby.apply中的值不匹配

问题描述

def _hit_rate(df):
    df['hit'] = 1
    return df['ca'].mean()

a = pd.DataFrame({'geo':['AP','AP','AP','SD','SD','SD'],'lower':[1.2,1.2,1.2,1.3,1.3,1.3],'ca':[1,1,1,2,2,2]})
print(a)

b = a.groupby(['geo']).apply(_hit_rate)
print(b)

我想在 中做一些动作_hit_rate(),而不是返回平均值。但如果我这样做了,df 的值将在_hit_rate功能上是错误的。df[df['geo'='SD']['ca']意志等于,不是本身的df[df['geo'='AP']['ca']价值 2 而是错误的 1。我对此感到困惑,请帮助我!

标签: pythonpandas

解决方案


推荐阅读