Показывать нулевые значения для столбца после выполнения условного группового подсчета в пандах - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть датафрейм, как указано ниже:

[1]: https://i.stack.imgur.com/nDMa5.png

Я использую следующий код, чтобы получить счетчик resolved для всехэлементы в столбце A:

resolved = df[df['B']== 'resolved'].groupby('A', as_index=False)['B'].size()

и аналогично для unresolved:

unresolved = df[df['B']== 'unresolved'].groupby('A', as_index=False)['B'].size()

Для unresolved,SRVCAM-AM BI-Data не имеет значения unresolved в столбце B.Таким образом, в результирующем фрейме данных его не будет

Результат, полученный для unresolved, выглядит следующим образом:

work_queue count SRVCAM-AM BI-Reports Admin 1

, но я хочу получить результат следующим образом:

work_queue count SRVCAM-AM BI-Reports Admin 1 SRVCAM-AM BI-Data 0

1 Ответ

0 голосов
/ 07 декабря 2018

Вы можете сравнить столбец B и агрегат sum - True s - это процессы, подобные 1 s:

resolved = (df['B'] == 'resolved').groupby(df['A'], as_index=False).sum().astype(int)

Если хотите, чтобы все столбцы по B использовали crosstab:

resolved = pd.crosstab(df['A'], df['B'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...