如何找到中断日期时间索引连续性的缺失日期或小时数?

How to find missing days or hours that breaks continuity in Datetime index?

非常感谢您帮助像我这样的 python 新手!

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

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

这是我正在做的另一个“尽职调查”检查的例子。我只是确保遵守时间顺序:

 # 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)

这将 return 完整范围和日期时间系列之间的区别。