我想演示以索引列为日期的dataframe的小时范围。
例如,我有以下数据:
Date col1
2019-10-10 00:00:00 person1
2019-10-10 01:00:00 person1
2019-10-10 02:00:00 person1
2019-10-10 03:00:00 person2
2019-10-10 04:00:00 person2
2019-10-10 05:00:00 person2
2019-10-10 06:00:00 person2
2019-10-10 07:00:00 person2
2019-10-10 08:00:00 person3
2019-10-10 09:00:00 person3
2019-10-10 10:00:00 person3
2019-10-10 11:00:00 person3
2019-10-10 12:00:00 person3我想要这样的数据:
Hour col2
00:00 - 02:00 person1
03:00 - 07:00 person2
08:00 - 12:00 person3我该怎么做?
发布于 2019-10-15 22:55:19
使用DataFrame.groupby + Series.dt.time
new_df=df.groupby('col1')['Date'].apply(lambda x: x.dt.time.iloc[0].strftime("%H:%M")+ '-'+x.dt.time.iloc[len(x)-1].strftime("%H:%M")).rename('Hour').reset_index()
print(new_df) col1 Hour
0 person1 00:00-02:00
1 person2 03:00-07:00
2 person3 08:00-12:00https://stackoverflow.com/questions/58403482
复制相似问题