使用日期时间列对 pandas 数据框进行分箱

Binning a pandas dataframe using datetime column

这是我的数据框的摘录,形状为 (7800, 3)

             datetime   ui1 ui2
0 2019-01-01 00:12:45  0.20   4
1 2019-01-01 01:04:17  0.12  36
2 2019-01-01 04:27:01  0.63   7
3 2019-01-01 06:31:09  0.31  40
4 2019-01-01 07:43:28  0.48   9

我想使用间隔为 3H 的日期时间列将数据框分到 bin 中,看起来像这样

             datetime  ui1 ui2  ui1a ui2a
0 2019-01-01 00:00:00  nan nan   nan  nan
1 2019-01-01 00:03:00 0.20   4  0.12   36
2 2019-01-01 00:06:00 0.63   7   nan  nan
3 2019-01-01 00:09:00 0.31  40  0.48    9

我会建议将组箱保存到 list

out = df.groupby(pd.Grouper(key='datetime',freq='3H')).agg(list)
Out[386]: 
                              ui1      ui2
datetime                                  
2019-01-01 00:00:00   [0.2, 0.12]  [4, 36]
2019-01-01 03:00:00        [0.63]      [7]
2019-01-01 06:00:00  [0.31, 0.48]  [40, 9]