如何使用索引属性转换时间序列 pandas 数据帧?
How to transform a time series pandas dataframe using the index attributes?
给定一个时间序列数据框,如下所示:
Close
2015-02-20 14:00:00 1200.1
2015-02-20 14:10:00 1199.8
2015-02-21 14:00:00 1199.3
2015-02-21 14:10:00 1199.0
2015-02-22 14:00:00 1198.4
2015-02-22 14:10:00 1199.7
如何应用将其转换为数据框的函数,如下所示:
'14:00' '14:10'
2015-02-20 1200.1 1199.8
2015-02-21 1199.3 1199.0
2015-02-22 1198.4 1199.7
注意:这是一个简化的示例。实际的数据框有很多天,也有所有的盘中分钟数。因此,如果它是一个有效的程序,它将很有用。
谢谢
您可以在索引的 date
和 time
组件上进行旋转:
创建框架:
i =pd.to_datetime(['2015-02-20 14:00:00','2015-02-20 14:10:00','2015-02-21 14:20:00'\
,'2015-02-21 14:30:00','2015-02-22 14:40:00','2015-02-22 14:50:00'])
df =pd.DataFrame(index=i, data={'Close':[1200.1,1199.8,1199.3,1199.0,1198.4,1199.7]})
枢轴点:
pd.pivot_table(df, index= df.index.date, columns=df.index.time, values = 'Close')
returns:
14:00:00 14:10:00 14:20:00 14:30:00 14:40:00 14:50:00
2015-02-20 1200.1 1199.8 NaN NaN NaN NaN
2015-02-21 NaN NaN 1199.3 1199 NaN NaN
2015-02-22 NaN NaN NaN NaN 1198.4 1199.7
使用 aggfunc
作为 pivot_table
的参数来确定数据的聚合方式(如有必要)
给定一个时间序列数据框,如下所示:
Close
2015-02-20 14:00:00 1200.1
2015-02-20 14:10:00 1199.8
2015-02-21 14:00:00 1199.3
2015-02-21 14:10:00 1199.0
2015-02-22 14:00:00 1198.4
2015-02-22 14:10:00 1199.7
如何应用将其转换为数据框的函数,如下所示:
'14:00' '14:10'
2015-02-20 1200.1 1199.8
2015-02-21 1199.3 1199.0
2015-02-22 1198.4 1199.7
注意:这是一个简化的示例。实际的数据框有很多天,也有所有的盘中分钟数。因此,如果它是一个有效的程序,它将很有用。
谢谢
您可以在索引的 date
和 time
组件上进行旋转:
创建框架:
i =pd.to_datetime(['2015-02-20 14:00:00','2015-02-20 14:10:00','2015-02-21 14:20:00'\
,'2015-02-21 14:30:00','2015-02-22 14:40:00','2015-02-22 14:50:00'])
df =pd.DataFrame(index=i, data={'Close':[1200.1,1199.8,1199.3,1199.0,1198.4,1199.7]})
枢轴点:
pd.pivot_table(df, index= df.index.date, columns=df.index.time, values = 'Close')
returns:
14:00:00 14:10:00 14:20:00 14:30:00 14:40:00 14:50:00
2015-02-20 1200.1 1199.8 NaN NaN NaN NaN
2015-02-21 NaN NaN 1199.3 1199 NaN NaN
2015-02-22 NaN NaN NaN NaN 1198.4 1199.7
使用 aggfunc
作为 pivot_table
的参数来确定数据的聚合方式(如有必要)