查找并计算重复项

时间:2018-12-07 21:41:36

标签: python pandas-groupby

当col'A'或'B'大于0或等于0时,我需要计算col'C'中的重复项吗?

 A  B  C
 1  0  500
 0  1  500
 0  0  500
 1  1  500
 1  1  300
 1  0  300
 0  1  300
 0  0  300

我已经走了

'A'和'B'大于0

df[(df['A'] > 0) & (df['B'] > 0)].groupby('C').size()

 500 1
 300 1

“ A”或“ B”大于0或等于0

df[(df['A'] == 0) | (df['B'] == 0)].groupby('C').size()

 500 3
 300 3

如何在一个DataFrame中打印出来?

预期产量

 500 1 3
 300 1 3

1 个答案:

答案 0 :(得分:0)

您最好预先计算A | BA & B,除非空间不足。然后,您可以使用:

df["AND"] = df.A & df.B
df["OR"] = df.A | df.B

res = df.groupby("C")[["AND", "OR"]].agg("sum")

结果:

     AND  OR
C
300    1   3
500    1   3