首页 > 解决方案 > 检查数据中是否有日期跳过

问题描述

我有一个数据集,它的索引由时间戳组成。这是熊猫系列,如下所示:

Time                           
2013-09-17 22:08:11           0
2013-09-17 22:08:18           0
2013-09-17 22:08:26           0
2013-09-17 22:08:34           0
2013-09-17 22:08:42           0
2013-09-17 22:08:50           0
2013-09-17 22:08:58           0
2013-09-17 22:09:06           0
2013-09-17 22:09:11           0
2013-09-17 22:09:13           0
2013-09-17 22:09:19           0
2013-09-17 22:09:21           0
2013-09-17 22:09:27           0
2013-09-17 22:09:35           0
2013-09-17 22:09:43           0
Name: dummy_frame, dtype: float64

关于时间戳的数据被不规则地记录。现在我要做的是检查这个数据,如果里面有日期跳过或跳转,比如从2013-09-07到2013-12-22。我可以简单地检查第一个和最后一个日期并进行比较。但是,我需要找到这种跳转发生的位置。有什么简单的方法可以找出来吗?

谢谢你。

标签: pythonpandastime

解决方案


国际大学联盟:

x = #your series
x.index = pd.to_datetime(x.index)
jumps = x.index.dt.date - x.index.shift(1).dt.date

这将创建一个系列,其中 jump[i] 是 jump[i] 和 jump[i-1] 之间的差异,如果您想找到 jump>1 的位置,只需执行以下操作:

x[jump>1]

推荐阅读