2

datetime インデックスを使用して pandas データフレームで 6 時間のギャップを探しています。次のようなリスト内包表記を使用して、ギャップの直後に datetime オブジェクトを含むリストを作成したいと考えています。

starttimes = [x for i, x in enumerate(data.index) if ((x - x[i-1]).seconds/3600.0) > 6 ]

しかし、次のタイプのエラーが発生します。

TypeError: 'Timestamp' object does not support indexing

enumerate(data.index) の後にエラーが発生しますが、次のことができるため、このエラーが発生する理由がわかりません。

(data.index[0] - data.index[1]).seconds/3600.0 > 6

うまくいき、出力はtrueです。

私もこの方法を試してみましたが、別のタイプのエラーが発生しました:

starttime = [x for i, x in enumerate(WaterTest) if ((x.index - x.index[i-1]).seconds/3600.0) > 6 ]

TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'

これを簡単に行う方法はありますか?このようなステートメントをコードで頻繁に使用する必要があり、これと同様の方法で記述できると便利です。

4

1 に答える 1