#python #pandas #dataframe
#python #панды #фрейм данных
Вопрос:
У меня есть фрейм данных, df
, определенный как:
Empty DataFrame
Columns: []
Index: [timestamp, device_type, os]
Я пытаюсь сгруппировать по метке времени и типу устройства и preform .agg на нем, например:
df.groupby(['timestamp', 'device_type']).agg({'sessions_sum': 'sum'})
Это дает мне ошибку ключа:
** KeyError: KeyError('timestamp',)
Я прочитал документацию pandas, но я не уверен, где я ошибаюсь. Как я могу успешно использовать groupby?
Комментарии:
1. можете ли вы добавить сюда изображение скриншота данных?
2. Попробуйте groupby(уровень = 0).agg… Вы группируете по уровню индекса вместо имени.
3. из вашего определения фрейма данных в нем нет столбцов, поэтому он выдает ошибку,
Ответ №1:
Ошибка заключается в том, timestamp, device_type, os
что они относятся index
к df, а не к фактическим столбцам.
Итак, вы можете либо выполнить:
df.reset_index(inplace=True)
df.groupby(['timestamp', 'device_type']).agg({'sessions_sum': 'sum'})
или:
df.groupby(level=0).agg