Pandas Groupby应用函数来计算大于零的值

rdh*_*dh9 10 python python-3.x pandas

Pandas Groupby应用函数来计算大于零的值

我以下列方式使用groupby和agg:

df.groupby('group')['a'].agg({'mean' : np.mean, 'std' : np.std})
Run Code Online (Sandbox Code Playgroud)

我想在同一列['a']中计算零以上的值

以下行按我的意愿计算,

sum(x > 0 for x in df['a'])
Run Code Online (Sandbox Code Playgroud)

但是在申请groupby时我无法正常工作.

下面是一个将pandas计算应用于groupby的示例,我试过:

df.groupby('group')['a'].apply(sum(x > 0 for x in df['a']))
Run Code Online (Sandbox Code Playgroud)

但是我收到一条错误消息:AttributeError:'numpy.int32'对象没有属性' module '

任何人都可以建议如何做到这一点?

Reb*_*que 11

回答评论:

 .agg({'pos':lambda ts: (ts > 0).sum()}) # –  behzad.nouri Mar 31 at 0:00 
Run Code Online (Sandbox Code Playgroud)

这是我积压的未回答的问题:)积分behzad.nouri