使用 resample 按小时对日期进行分组

Using resample to group date by hour

我有一个数据框,其中有一列记录从 1 月到 12 月的日期和时间为“start_date”。我想按小时对数据进行分组并找到平均值。当我使用 .resample(‘H’) 时,它会按每个月的小时数分组,但我希望每个月都按小时分组。

我不确定你要问什么。如果下次您提供一个您想要使用的实际示例,那么您可以更确定地获得您需要的帮助。

我猜你有类似以下的内容:

df = pd.DataFrame({
    'start_time': ['2022-01-01 08:17:23.12', '2022-02-01 08:22:58.76', '2022-02-01 08:19:02.57', '2022-01-01 08:55:43.99','2022-01-01 08:41:23.10', '2022-01-01 09:14:59.99', '2022-02-01 09:15:02.02', '2022-01-01 09:44:43.30','2022-02-01 09:54:23.71', '2022-02-01 10:15:00.00', '2022-01-01 10:15:02.99', '2022-01-01 10:19:43.52'],
    'score': [2, 1, 3, 3, 5, 4, 6, 6, 4, 10, 9, 14],
})

并且您希望平均值为每小时,而不考虑月份。然后我会做类似

的事情
df["start_hour"] = pd.DatetimeIndex(pd.to_datetime(df["start_time"]).round("1h")).time
df = df.groupby("start_hour").mean()

首先将小时四舍五入,然后转换为唯一时间。结果是

            score
start_hour       
08:00:00      2.0
09:00:00      4.5
10:00:00      8.6