如何使用索引属性转换时间序列熊猫数据框?
Posted
技术标签:
【中文标题】如何使用索引属性转换时间序列熊猫数据框?【英文标题】:How to transform a time series pandas dataframe using the index attributes? 【发布时间】:2015-04-24 04:55:33 【问题描述】:给定一个具有如下时间序列的数据框:
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
注意:这是一个简化的示例。实际的数据框也有很多天和所有的盘中分钟。因此,如果它是一个有效的程序,那将是有用的。
谢谢
【问题讨论】:
在您的样本数据中,您只有 2015-02-20 的 14:00 和 14:10 的观察值,您的水平轴不应该有 6 个字段吗? 你是对的。这是一个错字。我已经更正了。 【参考方案1】:您可以以索引的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')
返回:
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
的参数来确定必要时如何聚合数据
【讨论】:
如何修改 df 以便可以进行 df['14:10:00'] - df['14:00:00'] 之类的计算?谢谢。让我知道我是否应该用这个开始一个新问题。 如果您愿意提供帮助,新问题就在这里。 ***.com/questions/28665361/…以上是关于如何使用索引属性转换时间序列熊猫数据框?的主要内容,如果未能解决你的问题,请参考以下文章