Pandas Groupby应用函数来计算大于零的值
我正在以下列方式使用groupby和agg:
df.groupby('group')['a'].agg({'mean' : np.mean, 'std' : np.std})
我想在同一列['a']
中计算零以上的值以下行按我的意愿计算,
sum(x > 0 for x in df['a'])
但申请groupby时我无法正常工作。
以下是我尝试将pandas计算应用于groupby的示例:
df.groupby('group')['a'].apply(sum(x > 0 for x in df['a']))
但是我收到一条错误消息: AttributeError:'numpy.int32'对象没有属性' module '
有人可以建议如何做到这一点吗?
答案 0 :(得分:11)
评论中的回答:
.agg({'pos':lambda ts: (ts > 0).sum()}) # – behzad.nouri Mar 31 at 0:00
这是我对积压的未答复问题的贡献:) 积分behzad.nouri