我有pandas.Series
时间戳数据 - 基本上是一系列事件:
0 2012-09-05 19:28:52
1 2012-09-05 19:28:52
2 2012-09-05 19:44:37
3 2012-09-05 19:44:37
4 2012-09-05 20:04:53
5 2012-09-05 20:04:53
6 2012-09-05 20:12:59
7 2012-09-05 20:13:15
8 2012-09-05 20:13:15
9 2012-09-05 20:13:15
我想在特定pandas.TimeSeries
(例如,15分钟间隔; pandas.date_range
)上创建pandas.date_range(start, end, freq='15T')
,其中包含每个时段的事件计数。如何实现这一目标?
感谢, 彼得
答案 0 :(得分:2)
如果您将事件的时间戳用作系列的索引而不是数据,则resample可以执行此操作。在下面的示例中,系列s的索引是时间戳,数据是event_id,基本上是系列的索引。
In [47]: s
Out[47]:
event_id
timestamp
2012-09-05 19:28:52 0
2012-09-05 19:28:52 1
2012-09-05 19:44:37 2
2012-09-05 19:44:37 3
2012-09-05 20:04:53 4
2012-09-05 20:04:53 5
2012-09-05 20:12:59 6
2012-09-05 20:13:15 7
2012-09-05 20:13:15 8
2012-09-05 20:13:15 9
resample (此方法也可以在DataFrame上使用)将给出一个新系列,在这种情况下为15分钟,一个桶(句点)的结束时间用于引用它(您可以使用标签 arg)来控制它。
In [48]: s.resample('15Min', how=len)
Out[48]:
event_id
timestamp
2012-09-05 19:30:00 2
2012-09-05 19:45:00 2
2012-09-05 20:00:00 0
2012-09-05 20:15:00 6