我想将正常的索引时间序列数据帧转换为使用索引的小时属性的数据框,但在列中显示日期数据。让我们来看一个例子。
我的df看起来像这样:
Open High Low Close
2014-12-12 16:00:00 2001.00 2001.50 1999.75 2001.00
2014-12-12 16:05:00 2001.00 2001.75 2001.00 2001.25
2014-12-12 16:10:00 2001.00 2001.25 2000.00 2000.00
2014-12-12 16:15:00 2000.00 2000.50 1998.50 1999.00
2014-12-12 16:20:00 1998.75 1999.75 1998.75 1999.00
2014-12-13 16:00:00 1999.00 1999.25 1997.75 1998.75
2014-12-13 16:05:00 1998.75 1999.25 1996.75 1997.00
2014-12-13 16:10:00 1996.75 1998.75 1996.75 1998.75
2014-12-13 16:15:00 1998.75 1999.00 1998.00 1999.00
2014-12-13 16:20:00 1998.75 1999.00 1996.50 1997.50
我想把它变成这个:
注意:这些数字只是df的输出['关闭']。diff():
2014-12-12 2014-12-13
16:00:00 - 16:05:00 0.25 -1.75
16:05:00 - 16:10:00 -1.25 1.75
16:10:00 - 16:15:00 -1.00 0.25
16:15:00 - 16:20:00 0.00 -1.50
我想我可以强行解决问题,但我想知道是否有一个很酷的技巧(也许是Groupby)可以做我需要的。
由于
答案 0 :(得分:1)
您可以使用数据透视表
df['date'] = map(lambda x: x.date(), df.index)
df['time'] = map(lambda x: x.time(), df.index)
sol = df.pivot('time', 'date', 'Close')