熊猫过滤器,先分组再变换

时间:2020-07-13 13:12:41

标签: python-3.x pandas pandas-groupby

我有一个熊猫数据框,如下所示:

  df =
      a          b
      a1.        1
      a2         0
      a1         0
      a3         1
      a2         1
      a1         1

我想先过滤1上的b,然后按a分组并计算每组发生的次数(将此列称为count),然后将该列附加为原始df。对于每个b的值,保证1至少有一次a

预期输出:

  df =
      a          b.    count
      a1.        1      2
      a2         0.     1
      a1         0.     2
      a3         1      1
      a2         1.     1
      a1         1      2

我尝试过:

 df['count] = df.groupby('a').b.transform('size')

但是,这也算为零。我想先过滤b == 1

我也尝试过:

df['count'] = df[df['b' == 1].groupby('a').b.transform('size')

但是,这会在计数列中引入nans吗?

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

检查以获取适用于.tbl_trees > tbody > tr:nth-child(even) { background-color: #dff0d8; }的条件,然后b

sum