1. 时间序列类型时间戳(timestramp)
即特定的时刻固定时期(period)
如2018年1月或2018年1月1日时间间隔(interval)
由起始和结束时间戳表示 2. Python处理模块

Python标准库包含用于日期和时间数据的数据类型,主要用到datetime、time、calendar模块。
datetime模块常使用datetime和timedelta两种实例方法

datetime:以毫秒形式存储日期和时间timedelta:表示两个datetime对象的时间差

引入datetime模块

import datetime

生成datetime对象

start_date = datetime(2018,1,1)print(type(start_date))end_date = datetime(2018,12,31)print(type(end_date))delta_date = end_date - start_dateprint(type(delta_date))

字符串转化datetime对象datetime.strptime()

date_str = '2018-1-1'date_strptime = datetime.strptime(date_str, '%Y-%m-%d')print(type(date_strptime))print(date_strptime)

dateutil.parser.parse()

date_str2 = '1-1-2018'date_parse = parse(date_str2)print(type(date_parse))print(date_parse)

pandas.to_datetime()

date_arr = ['1/1/2018','12/31/2018']date_todatetime = pd.to_datetime(date_arr)print(type(date_todatetime))print(date_todatetime)

datetime对象转化字符串

str

start_date = datetime(2018,1,1)str_start_date = str(start_date)print(type(str_start_date))print(str_start_date)

strftime

start_date = datetime(2018,1,1)strftime_start_date = start_date.strftime('%Y-%m-%d')print(type(strftime_start_date))print(strftime_start_date)

3. Pandas 时间处理

serial

ts = pd.Series(np.random.randn(6), index=date_list)print(type(ts))print(ts)

date_range()

dates = pd.date_range('2018-1-1', periods=5, freq='W-SAT') print(dates)print(pd.Series(np.random.randn(5), index=dates))

date_index = pd.date_range('2018/1/1', '2018/2/1')print(date_index)

移动数据

ts = pd.Series(np.random.randn(5), index=pd.date_range('20180101', periods=5, freq='W-SAT'))print(ts)

print(ts.shift(1))

print(ts.shift(-1))