【发布时间】:2014-11-21 03:03:58
【问题描述】:
我有一个 python-pandas-DataFrame,其中第一列是 "user_id",其余列是标签("Tag_0" 到 "Tag_122")。
我有以下格式的数据:
UserId Tag_0 Tag_1
7867688 0 5
7867688 0 3
7867688 3 0
7867688 3.5 3.5
7867688 4 4
7867688 3.5 0
我的目标是为每个 user_id 实现Sum(Tag)/Count(NonZero(Tags))
df.groupby('user_id').sum(),给了我sum(tag),但是我对计算非零值一无所知
是否可以在一个命令中实现Sum(Tag)/Count(NonZero(Tags))?
在 MySQL 中,我可以按如下方式实现:-
select user_id, sum(tag)/count(nullif(tag,0)) from table group by 1
任何帮助将不胜感激。
【问题讨论】:
标签: python pandas dataframe pandas-groupby