我的数据框如:
Timestamp Sold
10.01.2017 10:00:20 10
10.01.2017 10:01:55 20
10.01.2017 11:02:11 15
11.01.2017 11:04:30 10
11.01.2017 11:15:35 35
12.01.2017 10:02:01 22
如何按小时重新取样。普通的重新采样重新采样从第一行到最后一行的所有小时。但我需要的是制作时间范围(10-11)并在此时间范围内重新取样。
最后的df应该是这样的:
Timestamp Sold
10.01.2017 10:00:00 30
10.01.2017 11:00:00 15
11.01.2017 10:00:00 NAN
11.01.2017 11:00:00 45
12.01.2017 10:00:00 22
12.01.2017 11:00:00 NAN
答案 0 :(得分:0)
你可以这样做:
df_out = df.groupby(df.Timestamp.dt.floor('H')).sum()
df_out.reset_index()
输出:
Timestamp Sold
0 2017-10-01 10:00:00 30
1 2017-10-01 11:00:00 15
2 2017-11-01 11:00:00 45
3 2017-12-01 10:00:00 22