Как создать сводную таблицу по возрастному диапазону вместо возраста с помощью Python

#python #pivot #range

#python #сводная #диапазон

Вопрос:

Моя таблица включает возраст клиентов (столбец «возраст») и категорию продуктов, которые покупают клиенты (столбец «категория»)

Я хотел бы создать сводную таблицу с категорией в зависимости от возраста.

Следующий код работает нормально :

 Python
 - X = "categ"
 - Y= "age"
 - cont = table_pct[[X,Y]].pivot_table(index=X,columns=Y,aggfunc=len,margins=True,margins_name="Total")
 - cont
  

Однако, поскольку существует слишком много разных возрастов, я хотел бы сделать то же самое для диапазонов возрастов вместо возрастов.

Итак, я создал диапазоны возрастов :

  - table_pct['tranche_age']=pd.cut(table_pct.age, range(10, 110, 6), right=False)
 - table_pct.head(10)
  

Но мой первый код не работает для диапазонов возрастов :

  - X = "categ" 
 - Y= "tranche_age"
 - cont = table_pct[[X,Y]].pivot_table(index=X,columns=Y,aggfunc=len,margins=True,margins_name="Total")
   cont
  

Я сталкиваюсь со следующей ошибкой: TypeError: не удается вставить элемент в CategoricalIndex, который еще не является существующей категорией

Спасибо за вашу помощь!