我已经看到使用转置或枢轴的相关主题,但无法使其正常工作。 我有两列数据框,时间戳和类似分钟的数据。
我想转置数据框,以便最终得到 61 列,如下所示;
老DF的样子
Date Value
0 2017-01-01 16:45 12
1 2017-01-01 16:46 22
... ...
n 2017-03-01 11:45 12
我希望新的 DF 本质上是
DayHour ... Minute45 Minute46 ...
0 2017-01-01 16 ... 12 22 ...
... ... ... ... ...
n 2017-03-01 11 ... 12 ... ...
我以某种方式设法通过 groupby 和 for 循环完成了 60 分钟, 但我想知道是否有更紧凑的方法来做到这一点。
请您参考如下方法:
您可以为 DayHour 和分钟创建新列,然后旋转表格。
df.assign(DayHour = df.Date.dt.floor('h'), minute=df.Date.dt.minute)\
.pivot(index='DayHour', columns='minute', values='Value')\
.add_prefix('Minute')
minute Minute45 Minute46
DayHour
2017-01-01 16:00:00 12.0 22.0
2017-03-01 11:00:00 12.0 NaN
