日付の列を持つ複数のデータフレームがあります。これらのデータフレームを日付の列で5日間グループ化する必要があります。通常、このようなものは動作します:私はpd.TimeGrouper
を使用する場合パンダは日付範囲を削除またはグループ化します
df = pd.DataFrame([['2016-11-01 09:21:07', 10], ['2016-09-14 02:46:01', 21], ['2016-08-11 03:26:33', 14], ['2016-10-17 14:20:44', 14]],
columns=['DateCol', 'Values'])
df['DateCol'] = pd.to_datetime(df['DateCol'])
df.set_index('DateCol').groupby(pd.TimeGrouper('5D')).mean()
はしかし、それは私がそれを適用するデータフレームに基づいてグループを作成します。 2つの異なるデータフレームでこれを行うと、異なるグループが生成されます。 複数のデータフレームを同じグループでグループ化する必要があります。
pd.cut
を使用しようとしましたが、datetime列では機能しません。 pd.cut(df['DateCol'], 10)
は私にTypeError
を与えます。
は、理想的には私はこのような何かをしたい:
pd.groupby(df, pd.cut(df['DateCol'], pd.date_range(start='1/1/2016', end='1/1/2017', freq='5D')))
言い換えれば、私は特定の日付範囲での私のデータフレームをGROUPBYする必要があります。