【问题标题】:Python: How to create an event time column in PandasPython:如何在 Pandas 中创建事件时间列
【发布时间】:2015-11-16 16:28:27
【问题描述】:

我有一个数据框df,看起来像这样:

index                value
2011-04-25 09:44:30  0.008272
2011-04-25 09:45:00  0.008272
2011-04-25 09:45:30  0.007638
2011-04-25 09:46:00  0.005099
2011-04-25 09:46:30  0.001915
...                       ...
2011-04-28 15:45:30 -0.075017
2011-04-28 15:46:00 -0.075017

跨越 4 天,每天 9:30-15:00 之间间隔 30 秒。

例如,如果日期时间戳2011-04-25 09:46:30 是我的时间序列中的主要“事件”,我如何才能以最佳方式创建一个列,比如event_time,在这个日期时间戳我有一个 0,负数对于小于2011-04-25 09:46:30 的日期时间戳和大于2011-04-25 09:46:30 的日期时间戳的正数?我想要一个看起来像 [-1000, -999, -998 .... 0, 1, 2, .... 2200] 的列,其中 0 对应于索引 = 2011-04-25 09:46:30

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    我可以想到三个简单的步骤来实现目标:

    1. 按日期时间排序(假设尚未排序)

    2. 根据日期时间应用数字排名列

    3. 找到所需日期时间的排名,然后将列移动(即减去)那么多。 (例如df[c] = df[c] - 500

    没有提供任何代码,因为您没有提及到目前为止您尝试过的内容。希望这会有所帮助。

    Juts 发现 this 已经存在。

    【讨论】:

      猜你喜欢
      • 2021-03-06
      • 1970-01-01
      • 1970-01-01
      • 2021-04-24
      • 1970-01-01
      • 2020-08-21
      • 1970-01-01
      • 2016-01-16
      • 2023-03-07
      相关资源
      最近更新 更多