我有一个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
Run Code Online (Sandbox Code Playgroud)
我的目标是Sum(Tag)/Count(NonZero(Tags))
为每个user_id 实现
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
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.