【发布时间】:2019-01-02 15:09:40
【问题描述】:
如何每隔 10 分钟打破我的 TimeSeries 数据,这是我的示例数据,在下面的数据中,如果我首先看到没有 10 分钟的数据,因为在第 3 行之后它会跳转到 @ 987654322@ 分钟,因此它将从0 再次开始计数,我想将真/假值放在它最终计数 10 分钟的位置。
我尝试了一种技术x["DateTime"].diff() > pd.Timedelta(minutes=10),但它在数据中找到了 00:10:00 时间戳,然后将其破坏,这不符合我的要求。因为pd.Timedelta(minutes=10) 给出了结果00:10:00
我怎么可能做到这一点?我希望我解释清楚了
DateTime ValA
2011-01-01 00:01:00 0.551815
2011-01-01 00:01:59 0.542464
2011-01-01 00:03:00 0.520525
2011-01-03 06:39:00 1.225518
2011-01-03 06:40:00 2.241443
2011-01-03 06:40:59 3.148734
2011-01-03 06:42:00 5.361565
2011-01-03 06:43:00 6.878603
2011-01-03 06:43:59 7.127448
2011-01-03 06:45:00 8.130982
2011-01-03 06:46:00 8.188750
2011-01-03 06:46:59 8.267185
2011-01-03 06:48:00 8.204753
2011-01-03 06:49:00 8.121145
2011-01-03 06:49:59 8.129115
2011-01-03 06:51:00 8.160426
2011-01-03 06:52:00 8.301057
2011-01-03 06:53:00 8.342608
2011-01-03 06:53:59 8.390675
2011-01-03 06:55:00 8.063992
2011-01-03 06:56:00 7.396055
2011-01-03 06:56:59 6.771710
2011-01-03 06:58:00 5.295999
2011-01-03 06:59:00 4.210010
2011-01-03 06:59:59 3.689164
2011-01-03 07:01:00 2.963554
2011-01-03 07:02:00 2.873527
2011-01-03 07:02:59 2.885474
2011-01-03 07:04:00 2.394660
2011-01-03 07:05:00 2.603989
期望的输出应该是
DateTime ValA Flag
2011-01-01 00:01:00 0.551815 False
2011-01-01 00:01:59 0.542464 False
2011-01-01 00:03:00 0.520525 False
2011-01-03 06:39:00 1.225518 True
2011-01-03 06:40:00 2.241443 False
2011-01-03 06:40:59 3.148734 False
2011-01-03 06:42:00 5.361565 False
2011-01-03 06:43:00 6.878603 False
2011-01-03 06:43:59 7.127448 False
2011-01-03 06:45:00 8.130982 False
2011-01-03 06:46:00 8.188750 False
2011-01-03 06:46:59 8.267185 False
2011-01-03 06:48:00 8.204753 False
2011-01-03 06:49:00 8.121145 False
2011-01-03 06:49:59 8.129115 True
2011-01-03 06:51:00 8.160426 False
2011-01-03 06:52:00 8.301057 False
2011-01-03 06:53:00 8.342608 False
2011-01-03 06:53:59 8.390675 False
这应该是输出
【问题讨论】:
-
所以基本上你想看看每个 10 分钟时间箱内是否至少有 10 个值,时间箱在哪里(00-10、10-20、20-30...)?
-
您的数据是 2 列吗?第二列是干什么用的?
-
@ALollz 不,不是垃圾箱概念,我想获取总共 10 分钟的数据,就像我给出的示例一样,如果您看到 10 分钟内只有 3 个值,那么它会跳转到6:39:00,然后会给出接下来10分钟的数据
-
@DemetriP 实际上它只有一列,我将该日期时间设置为索引,所以它是这样来的,我只是在这里复制了我的数据。
-
能否请您更适当地格式化一下?
标签: python-3.x pandas timestamp time-series