我有一个带有日期时间索引的数据框:df.head(6)
NUMBERES PRICE
DEAL_TIME
2015-03-02 12:40:03 5 25
2015-03-04 14:52:57 7 23
2015-03-03 08:10:09 10 43
2015-03-02 20:18:24 5 37
2015-03-05 07:50:55 4 61
2015-03-02 09:08:17 1 17
数据框包含一周的数据。现在我需要计算每天的时间段。如果时间段为1小时,则以下方法适用:
df_grouped = df.groupby(df.index.hour).count()
但是我不知道当时间段为半小时时应该如何处理。我该如何实现它?
更新:
有人告诉我这个问题类似于如何按时间段分组DataFrame?
但我已经尝试过提到的方法。也许是我的问题没有说清楚。'DEAL_TIME'范围从'2015-03-02 00:00:00'到'2015-03-08 23:59:59'。如果我使用pd.TimeGrouper(freq='30Min')
或resample()
,时间段将从'2015-03-02 00:30'到'2015-03-08 23:30'。但我想要的是以下系列:
COUNT
DEAL_TIME
00:00:00 53
00:30:00 49
01:00:00 31
01:30:00 22
02:00:00 1
02:30:00 24
03:00:00 27
03:30:00 41
04:00:00 41
04:30:00 76
05:00:00 33
05:30:00 16
06:00:00 15
06:30:00 4
07:00:00 60
07:30:00 85
08:00:00 3
08:30:00 37
09:00:00 18
09:30:00 29
10:00:00 31
10:30:00 67
11:00:00 35
11:30:00 60
12:00:00 95
12:30:00 37
13:00:00 30
13:30:00 62
14:00:00 58
14:30:00 44
15:00:00 45
15:30:00 35
16:00:00 94
16:30:00 56
17:00:00 64
17:30:00 43
18:00:00 60
18:30:00 52
19:00:00 14
19:30:00 9
20:00:00 31
20:30:00 71
21:00:00 21
21:30:00 32
22:00:00 61
22:30:00 35
23:00:00 14
23:30:00 21
换句话说,时间段与日期无关。