【发布时间】:2014-04-16 06:29:18
【问题描述】:
您可以在下面找到时间序列的摘录。我想分割由空白分隔的行(空白是为了清楚起见,数据中没有空行)。有一个反复出现的模式,即 21 次 X 值、4 个不同值 ABCD、21 次值 Y、4 个不同值 EFGH、21 次值 Z 等。在这种情况下,我对获得 BCDY、FGHZ 等感兴趣。
问题在于,这种模式有时会因缺少数据而中断,使其变得不规则。结果,我想要丢弃的值的数量(值 X、Y、Z)有时低于 21。例如2014-01-20 00:05:00 和 2014-01-20 00:11:00 之间的值也可能会丢失。
我可以考虑循环遍历该系列,但我更喜欢矢量化方法。我想在 R 中实现它,但 Python 或 Matlab 也可以。
有什么想法吗?谢谢。
2014-01-20 00:00:00 197021
2014-01-20 00:01:00 197021
2014-01-20 00:02:00 197021
2014-01-20 00:03:00 197021
2014-01-20 00:04:00 197021
2014-01-20 00:05:00 197021
2014-01-20 00:06:00 197021
2014-01-20 00:07:00 197021
2014-01-20 00:08:00 197021
2014-01-20 00:09:00 197021
2014-01-20 00:10:00 197021
2014-01-20 00:11:00 197021
2014-01-20 00:12:00 197021
2014-01-20 00:13:00 197021
2014-01-20 00:14:00 197021
2014-01-20 00:15:00 197021
2014-01-20 00:16:00 196836
2014-01-20 00:17:00 196865
2014-01-20 00:18:00 196787
2014-01-20 00:19:00 196915
2014-01-20 00:20:00 196902
2014-01-20 00:21:00 196902
2014-01-20 00:22:00 196902
2014-01-20 00:23:00 196902
2014-01-20 00:24:00 196902
2014-01-20 00:25:00 196902
2014-01-20 00:26:00 196902
2014-01-20 00:27:00 196902
2014-01-20 00:28:00 196902
2014-01-20 00:29:00 196902
【问题讨论】:
-
丢失的数据是什么样的?因为否则听起来你只想要从第 27 行开始的 25 行组(即 Matlab 中的
BCDY = data(27:27+25, :)) -
您能方便地与我们分享您的数据吗?以下是一些关于如何做到这一点的提示:stackoverflow.com/questions/5963269/… 我打赌
rle将成为最终解决方案的一部分。 -
为什么
00:16:00 196836和00:17:00 196865之间有一个空格?我知道这个空白实际上并不存在,真正的问题是:时间序列与以下时间序列有什么区别??
标签: python r matlab time-series