Python сгруппировать и считать () несколько столбцов - PullRequest
2 голосов
/ 30 сентября 2019

У меня есть такой фрейм данных:

Country  A B C
UK       1 0 1
US       1 1 1
GB       0 1 1
UK       1 1 1
US       0 1 1
GB       0 1 1

Мне нужно сгруппировать страну и подсчитать во всех столбцах, где значение равно 1. Я застрял при установке условия столбцов == 1 для всехих.

Результат должен выглядеть примерно так:

Country  A B C
UK       2 0 2
US       1 2 2
GB       0 2 2

1 Ответ

2 голосов
/ 30 сентября 2019

Поскольку вы считаете 1, вы можете просто groupby([]).sum()

df['country'] = df.index # to generate a new column
result = df.groupby(['country']).sum()

Это дает вам результат:

         a  b  c
country         
GB       0  2  2
UK       2  1  2
US       1  2  2

Дополнительная информация https://pandas.pydata.org/pandas-docs/stable/user_guide/groupby.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...