Вы можете сделать это следующим образом.
Start, установив 'count'
столбец 1:
df['count'] = 1
Теперь сделайте еще один столбец возрастной группы. В массиве в следующей строке, место независимо от границ вы хотите:
df['age_group'] = pd.cut(df.Age, [20, 31, 36])
Теперь все, что вам нужно сделать, это повернуть таблицу, используя возрастную группу в качестве индекса, пола, как и столбцы, подсчет в качестве значений, и агрегирование как сумма:
>>> df.pivot_table('count', index='age_group', columns='Sex', aggfunc='sum')
Sex Female Male
age_group
(20, 31] NaN 1
(31, 36] 2 2
Если вы хотите, вы можете дополнительно изменить NaN
с с fillna
:
>>> df.pivot_table('count', index='age_group', columns='Sex', aggfunc='sum').fillna(0)
Sex Female Male
age_group
(20, 31] 0 1
(31, 36] 2 2
спасибо это работает. – Amani
Добро пожаловать. –