使用日期时间列对 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]
这是我的数据框的摘录,形状为 (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]