Python/Pandas: 如何根据日期和时间快速转换 datetimeindex?

Python/Pandas: How to quickly pivot datetimeindex on date and time?

我有一个巨大的 pandas 时间序列,看起来像:

2011-02-18 08:05:00-05:00    94.00
2011-02-18 08:10:00-05:00    94.75
2011-02-18 08:15:00-05:00    94.00
2011-02-18 08:20:00-05:00    94.25
2011-02-18 08:25:00-05:00    93.25
2011-02-18 08:30:00-05:00    93.25
2011-02-18 08:35:00-05:00    94.00
2011-02-18 08:40:00-05:00    93.75
2011-02-18 08:45:00-05:00    93.50
2011-02-18 08:50:00-05:00    93.25
2011-02-18 08:55:00-05:00    93.00
2011-02-18 09:00:00-05:00    92.75
2011-02-18 09:05:00-05:00    91.75
2011-02-18 09:10:00-05:00    91.50
2011-02-18 09:15:00-05:00    91.75

但它从 1999 年开始一直持续到 2015 年。

这个时间序列的操作真的很慢,几秒钟是典型的(这对我来说很慢)。

我如何旋转时间序列,以便索引由各个日期组成,而列是时间?

我认为最好的方法是将时间序列转换为数据框,然后添加一个日期列 (ts.index.date) 然后添加一个时间列 (ts.index.time) 并执行 pandas.pivot.

问题是创建日期列和时间列真的很慢,有什么快速创建列的方法吗?

您可以尝试 pandas pivot()。

s = 您的系列名称

pd.pivot(index=s.index.date,columns=s.index.time,values=s)