熊猫:如何将10分钟的间隔时间序列转换为数据帧?

时间:2013-12-09 04:24:18

标签: python-2.7 pandas dataframe

我的时间序列类似于:

ts = pd.Series(np.random.randn(60),index=pd.date_range('1/1/2000',periods=60, freq='2h'))

是否有一种简单的方法可以使行索引为日期而列索引为小时?

基本上我正在尝试将时间序列转换为数据帧。

1 个答案:

答案 0 :(得分:1)

总是有一种比我伸手可及的方式做事情的方式,但我先制作一个扁平的框架然后转动。像

这样的东西
>>> ts = pd.Series(np.random.randn(10000),index=pd.date_range('1/1/2000',periods=10000, freq='10min'))
>>> df = pd.DataFrame({"date": ts.index.date, "time": ts.index.time, "data": ts.values})
>>> df = df.pivot("date", "time", "data")

这会产生太大的框架无法粘贴,但是看左上角:

>>> df.iloc[:5, :5]
time        00:00:00  00:10:00  00:20:00  00:30:00  00:40:00
date                                                        
2000-01-01 -0.180811  0.672184  0.098536 -0.687126 -0.206245
2000-01-02  0.746777  0.630105  0.843879 -0.253666  1.337123
2000-01-03  1.325679  0.046904  0.291343 -0.467489 -0.531110
2000-01-04 -0.189141 -1.346146  1.378533  0.887792  2.957479
2000-01-05 -0.232299 -0.853726 -0.078214 -0.158410  0.782468

[5 rows x 5 columns]