Пропало название столбца датафрейма

Сортирую датафрейм с суммированием однотипных данных кодом:

df_spec = pd.DataFrame({
    'Comp': ['s1', 's1', 's1', 't1', 't1', 'r1', 'r1', 's1'],
    'Quantity_per_1': [4.0, 3.0, 9.0, 0.0, 4.0, 11.0, 25.0, 11]
})

df2=df_spec.groupby(['Comp']).sum()
print(df2)

Название первого столбца при этом почему-то сдвигается на строку ниже и столбца как бы нет и. Код

print(df2.columns)

отображает только один столбец:

Index(['Quantity_per_1'], dtype='object')

Вместо полученного

      Quantity_per_1
Comp                
r1              36.0
s1              27.0
t1               4.0

необходимо получить

Comp  Quantity_per_1
r1              36.0
s1              27.0
t1               4.0

Ответы (2 шт):

Автор решения: CrazyElf

Ну правильно, при группировке столбец, по которому делается группировка, попадает в индекc. Если вы такого не хотите, добавьте сброс индекса (без удаления):

df2 = df_spec.groupby(['Comp']).sum().reset_index()
→ Ссылка
Автор решения: strawdog

Метод groupby в pandas имеет параметр as_index, который по умолчанию равен True - в этом случае колонка или колонки, по которым происходит группировка, становятся индексами. Чтобы этого избежать, установите данный параметр в False:

df2=df_spec.groupby(['Comp'], as_index=False).sum()
→ Ссылка