pandas groupby计算一列中的零个数 [英] pandas groupby count the number of zeros in a column

查看:182
本文介绍了pandas groupby计算一列中的零个数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数据框,例如:

I have a dataframe, e.g:

Date             B           C   
20.07.2018      10           8
20.07.2018       1           0
21.07.2018       0           1
21.07.2018       1           0

如何计算每个日期每一列的零值和非零值? 使用.sum()对我没有帮助,因为它将求和非零值. 谢谢!

How can I count the zero and non zeros values for each column for each date? Using .sum() doesn't help me cause it will sum the non zeros values. Thank you!

例如:零值的预期输出:

e.g: expected output for the zero values:

Date          B         C
20.07.2018    0         1
21.07.2018    1         1

推荐答案

我认为需要

I believe need DataFrameGroupBy.agg with compare by 0 and sum:

df1 = df.groupby('Date').agg(lambda x: x.eq(0).sum())
print (df1)

            B  C
Date            
20.07.2018  0  1
21.07.2018  1  1


df2 = df.groupby('Date').agg(lambda x: x.ne(0).sum())
print (df2)
            B  C
Date            
20.07.2018  2  1
21.07.2018  1  1

这篇关于pandas groupby计算一列中的零个数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆