【问题标题】:Reindex time-stamped data with date_range使用 date_range 重新索引时间戳数据
【发布时间】:2012-08-31 03:16:19
【问题描述】:

我有一个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.date_range(例如 15 分钟间隔;pandas.date_range(start, end, freq='15T'))上创建一个 pandas.TimeSeries,它保存每个时期的事件计数。这如何实现?

谢谢, 彼得

【问题讨论】:

    标签: python time-series pandas data-analysis


    【解决方案1】:

    如果您将事件的时间戳用作系列的索引而不是数据,那么 resample 可以做到这一点。在下面的示例中,series 的索引是时间戳,数据是 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 分钟周期,桶的结束时间(周期)用于引用它(您可以使用 label 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
    

    【讨论】:

    • 一定要注意closedlabel选项到resample
    猜你喜欢
    • 1970-01-01
    • 2021-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    • 2022-01-25
    • 2018-10-07
    • 2012-05-23
    相关资源
    最近更新 更多