в .groupby есть например параметр as_index, со значением False он сделает именно то что вам надо .groupby(by='column_name', as_index=False)
в документации по pd.pivot нет параметра as_index... но можно попробовать его использовать, тут врятли, но иногда помогает
ещё, как вариант, после выполнения .pivot использовать .reset_index()
напиши пожалуйста, получилось ли, и каким способом