Панды - подсчет частоты значения для каждого типа значения в другом столбце - PullRequest
1 голос
/ 19 сентября 2019

Итак, данные выглядят так:

type value
A    0
A    6
B    5
C    0
A    3
C    0

Я хочу получить число нулей в столбце значение для каждого типа в столбце тип .Желательно в новом фрейме данных.Так это будет выглядеть так:

type zero_count
A    1
B    0
C    2

Какой самый эффективный способ сделать это?

1 Ответ

3 голосов
/ 19 сентября 2019

Сравнить столбец по Series.eq для ==, преобразовать в целые числа 0/1 по Series.view или Series.astype, а затем агрегировать постолбец df['type'] с sum:

df1 = df['value'].eq(0).view('i1').groupby(df['type']).sum().reset_index(name='zero_count')
df1 = df['value'].eq(0).astype(int).groupby(df['type']).sum().reset_index(name='zero_count')

print (df1)
  type  zero_count
0    A           1
1    B           0
2    C           2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...