小编Har*_*gal的帖子

在python中计算数据帧的每一列中的非零值

我有一个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)

任何帮助将不胜感激.

python dataframe pandas

51
推荐指数
3
解决办法
6万
查看次数

标签 统计

dataframe ×1

pandas ×1

python ×1