pandas最基本的时间序列类型就是以时间戳为索引的Series,时间戳通常用python字符串或datetime对象表示。
创建一个以datetime对象为索引的时间序列:
In:
from pandas import Series
from numpy import random
import numpy as np
import pandas as pd
from datetime import datetime
dates =[datetime(2011,1,2),datetime(2011,1,5),datetime(2011,1,7),datetime(2011,1,8),datetime(2011,1,9),datetime(2011,1,10)]
ts = Series(np.random.randn(6),index = dates)
print(ts)
Out :
2011-01-02 1.956850
2011-01-05 0.257622
2011-01-07 2.380216
2011-01-08 -1.379715
2011-01-09 1.103500
2011-01-10 -0.150250
dtype: float64
这就创建了一个对象为datetime的时间序列ts,它的索引类型为DatetimeIndex,这时ts就变成了一个TimeSeries了,因为当创建一个带有DatetimeIndex的Series时,pandas就会知道该对象是一个时间序列。我们可以用下面的代码看一下ts的索引的数据类型:
In:print(type(ts.index))
Out :<class 'pandas.core.indexes.datetimes.DatetimeIndex'>
时间序列之间的算术运算会按日期对齐运算。用刚才的时间序列ts创建另一个时间序列tp,并把两个序列相加:
In:tp = ts[::2]
print(tp)
Out:
2011-01-02 -0.752801
2011-01-07 -0.834471
2011-01-09 -1.227245
dtype: float64
In:print(ts + tp)
Out:
2011-01-02 -1.505603
2011-01-05 NaN
2011-01-07 -1.668941
2011-01-08 NaN
2011-01-09 -2.454490
2011-01-10 NaN
dtype: float64