Как pandas groupby определенное значение в столбце? - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть фрейм данных с несколькими столбцами, используя добавленный новый столбец для возрастных интервалов.

# Create Age Intervals
bins = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100]
df['age_intervals'] = pd.cut(df['age'],bins)

Теперь у меня есть еще один столбец с именем no_show, в котором указывается, появляется ли человек на встречу или нет, используя значения 0 или 1. Используя приведенный ниже код, я могу группироватьданные основаны на age_intervals.

df[['no_show','age_intervals']].groupby('age_intervals').count()

Output: 
age_intervals   no_show
  (0, 5]        8192
 (5, 10]        7017
(10, 15]        5719
(15, 20]        7379
(20, 25]        6750

Но как мне сгруппировать данные no_show на основе их значений 0 и 1. Например, в возрастном интервале (0,5) из 8192 3291 равны 0, а 4901 -1 для no_show и т. Д.

1 Ответ

0 голосов
/ 11 сентября 2018

Простой способ - сгруппировать по обоим столбцам и использовать size(), который возвращает Серию:

df.groupby(['age_intervals', 'no_show']).size()

Это вернет Серию с разделенными значениями в зависимости от столбца age_intervals иno_show столбец.

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