Найти и посчитать дубликаты - PullRequest
0 голосов
/ 08 декабря 2018

Мне нужно подсчитать дубликаты в столбце 'C', когда столбец 'A' ​​или 'B' больше 0 или равен 0?

 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 голосов
/ 09 декабря 2018

Вы также можете предварительно вычислить A | B и A & 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...