如何查找破坏日期时间索引连续性的丢失日期或时间?

问题描述

在此先感谢您帮助像我这样的python新手!

我有一个DataFrame,其中包含特定加密货币的每日或每小时价格。

我只是想知道是否有一种简便的方法来检查是否有任何缺失的日期或时间(取决于所选的粒度)会破坏索引中一个完全恒定的时间间隔(两个日期之间)?

这是我正在执行的另一项“尽职调查”检查的示例。我只是要确保遵守时间顺序:

 # Check timestamp order:
        i = 0
        for i in range(0,len(df.TS)-1):

            if df.TS[i] > df.TS[i+1]:
                print('Timestamp does not respect time direction,please check df.')
                break
            else:
            i += 1

也许确实有更好的方法来执行此操作,但是我没有找到我想做的两项检查的任何内置函数

再次感谢您,

皮埃尔

解决方法

如果df.TS是存储日期时间数据的位置,则可以执行此操作(例如,每天的数据,请相应地更改freq

pd.date_range(start = df.TS.min(),end = df.TS.max(),freq = 'D').difference(df.TS)

这将返回完整范围和日期时间序列之间的差。