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

标签 python python-3.x pandas

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'

有人可以建议如何做到这一点吗?

最佳答案

来自评论的回答:

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

这是我对积压的未回答问题的贡献:) 感谢 behzad.nouri

2020 年更新 在最新的 pandas 版本中,您需要执行以下操作:

 .agg(pos=lambda ts: (ts > 0).sum()) 

否则会出现如下错误:

SpecificationError: nested renamer is not supported

关于python - Pandas Groupby 应用函数来计算大于零的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22751498/

相关文章:

python - 如何使用 setuptools 将 Python 标记添加到 bdist_wheel 命令?

python - 确定使用 Kubernetes 部署的 Dask 调度程序 IP 地址

python-3.x - pymongo 是否支持 json 模式验证?

python - 如何使用 PyGame 更改标签文本而不重叠?

python - 特定调用类别的第一次调用与同一调用类别的后续调用之间的调查分数差异

python - 在 python 中,如何限制每个 gvkey 插入虚拟一次?

Python JSON转储/append 到.txt,每个变量都在新行

Python源文件组织

Python Win 3.6.0 x64 问题,在 pip3 安装 pyqt5 后缺少 qt designer exe

Pandas 辅助轴