Пропало название столбца датафрейма
Сортирую датафрейм с суммированием однотипных данных кодом:
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()