《Python for Data Analysis》
生成日期范围
pd.data_range()
In [15]: rng = pd.date_range('2000-01-01', '2000-06-30', freq='BM')
In [16]: rng
Out[16]:
DatetimeIndex(['2000-01-31', '2000-02-29', '2000-03-31', '2000-04-28',
'2000-05-31', '2000-06-30'],
dtype='datetime64[ns]', freq='BM')
In [17]: Series(np.random.randn(6),index=rng)
Out[17]:
2000-01-31 0.586341
2000-02-29 -0.439679
2000-03-31 0.853946
2000-04-28 -0.740858
2000-05-31 -0.114699
2000-06-30 -0.529631
Freq: BM, dtype: float64
频率和日期偏移量
from pandas.tseries.offsets import Hour, Minute
移动(shifting)数据
ts.shift()
时期及其算术运算
Period类
、 PeriodIndex类
pd.period_range()
:创建规则的时期范围。
In [20]: rng = pd.period_range('2000-01-01', '2000-06-30', freq='M')
...: rng
...:
Out[20]: PeriodIndex(['2000-01', '2000-02', '2000-03', '2000-04', '2000-05', '2000-06'], dtype='int64', freq='M')
构造函数:
pd.PeriodIndex()
时期的频率转换
ts.asfred()
Timestamp(时间戳) 和 Period(时期) 的 转换
In [21]: rng = pd.date_range('2000-01-01', '2000-06-30', freq='M')
In [22]: rng
Out[22]:
DatetimeIndex(['2000-01-31', '2000-02-29', '2000-03-31', '2000-04-30',
'2000-05-31', '2000-06-30'],
dtype='datetime64[ns]', freq='M')
In [23]: rng = pd.period_range('2000-01-01', '2000-06-30', freq='M')
In [24]: rng
Out[24]: PeriodIndex(['2000-01', '2000-02', '2000-03', '2000-04', '2000-05', '2000-06'], dtype='int64', freq='M')
to_period()
to_timestamp()
In [25]: rng = pd.date_range('2000-01-01', periods=3, freq='M')
...: ts = pd.Series(np.random.randn(3), index=rng)
...: ts
...:
Out[25]:
2000-01-31