開店時間と閉店時間の間に観測が行われるデータセットを扱っていますが、サービスは開店の翌日に終了します。たとえば、午前 7 時に開店し、翌日の午前 1 時に閉店します。
これは非常に一般的な問題のように感じます。私はそれを検索しましたが、検索する正しい用語を知らないかもしれないという事実にオープンです。
私の使用のほとんどでは、次のようなことをするだけで十分です:
open_close = pd.DatetimeIndex(start='2012-01-01 05:00:00', periods = 15, offset='D')
次に、df で楽しい小さな groupby を実行できます。
df.groupby(open_close.asof).agg(func).
しかし、これらの開閉期間の複数を取得する必要があるインスタンスに遭遇しました。私が本当にできるようにしたいのは、1日の開始時刻を選択できる DatetimeIndex を持つことです。したがって、「日」を午前 5 時から午前 5 時までと再定義できます。これの良いところは、次のようなものを使用df[df.index.dayofweek == 6]
して、日曜日の午前 5 時からモンダの午前 5 時までのすべてを取得できることです。
ピリオド…というか、パンダの中の何かがこの要求を予期していたようです。それを理解するのを助けたいです。
編集:
また、適切な日で別の列を作成することでこれを理解しました
df['shift_day'] = df['datetime'].apply(magicFunctionToFigureOutOpenClose)
。これにより、進行が妨げられることはありません。パッケージ(または日時...またはどこか...)にうまく統合できるもののように感じます