熊猫:根据条件进行过滤后,对多列进行行明智计数

时间:2020-02-13 17:44:35

标签: python pandas

我有一个数据框df作为

Decile    2_Con    3_Con    6_Con   Pred
   1        0        0        0       0
   1        0        0        1       1
   1        0        0        1       1
   2        0        0        0       0
   2        0        1        0       1
   2        0        1        1       1

目标:

当我通过Pred过滤上述df并将每个分位数的6_Con,3_con和2_Con设置为1时,我想计算6_Con,3_Con和2_Con的计数。

因此,结果数据框应如下所示:

   Decile      2_Con     3_Con      6_Con    Pred
     1           0         0          2        2      <--We are only counting 1 in the columns for each Decile
     2           0         2          1        2      

如何实现?我无法在此处生成合理的代码。

预先感谢

1 个答案:

答案 0 :(得分:0)

您尝试过吗:

df = df.groupby('Decile').sum()

这是合理的,因为值是0-1,因此,总和就是每个不同十分位数的非0值(行)的计数。

相关问题