按一段时间内重新采样

时间:2017-11-30 16:13:17

标签: python pandas

我的数据框如:

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

1 个答案:

答案 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