我有一个具有日期时间列的pandas数据帧。我使用以下内容按天和小时分组:
df.groupby([df['date'].map(lambda t: t.day), df['date'].map(lambda t: t.hour)]).count()
不幸的是,这给我留下了一个双重索引,都叫做日期。第一个日期是月份的日期,第二个日期是小时,字节是该小时内的项目数:
我正在尝试使用这些日期列但不能。我已经尝试重置索引,但收到此错误:
ValueError: cannot insert date, already exists
我也无法重命名列,因为“date”没有出现在列列表中:
grouped_df.columns
>> Index([u'bytes'], dtype='object')
最终,我试图找到每天每小时的项目数量。如何重命名重复日期列?我应该使用不同的方法对数据帧进行分组以避免这种困境吗?
答案 0 :(得分:4)
我没有测试,但这样的事情应该有效:
df.groupby([df['date'].rename("day").map(lambda t: t.day), df['date'].rename("hour").map(lambda t: t.hour)]).count()