在Groupby日和小时之后重命名Pandas列

时间:2016-11-15 02:23:55

标签: python datetime pandas

我有一个具有日期时间列的pandas数据帧。我使用以下内容按天和小时分组:

df.groupby([df['date'].map(lambda t: t.day), df['date'].map(lambda t: t.hour)]).count()

不幸的是,这给我留下了一个双重索引,都叫做日期。第一个日期是月份的日期,第二个日期是小时,字节是该小时内的项目数:

enter image description here

我正在尝试使用这些日期列但不能。我已经尝试重置索引,但收到此错误:

ValueError: cannot insert date, already exists

我也无法重命名列,因为“date”没有出现在列列表中:

grouped_df.columns
>> Index([u'bytes'], dtype='object')

最终,我试图找到每天每小时的项目数量。如何重命名重复日期列?我应该使用不同的方法对数据帧进行分组以避免这种困境吗?

1 个答案:

答案 0 :(得分:4)

我没有测试,但这样的事情应该有效:

df.groupby([df['date'].rename("day").map(lambda t: t.day), df['date'].rename("hour").map(lambda t: t.hour)]).count()