1.时间序列 TimeSeries:以Datetimeindex为index的Series,就是时间序列。
t1=pd.DatetimeIndex(['2017/8/1','2018/8/2','2018/8/3','2018/8/4/','2018/8/5'])
print(t1,type(t1))
DatetimeIndex(['2017-08-01', '2018-08-02', '2018-08-03', '2018-08-04',
'2018-08-05'],
dtype='datetime64[ns]', freq=None) 'pandas.core.indexes.datetimes.DatetimeIndex'>
#先创建一个Datetimeindex,再创建一个相同长度的Series,将Datetimeindex作为index
st=pd.Series(np.random.rand(len(t1)),index=t1)
print(st,type(st))
print(st.index)
2017-08-01 0.683852
2018-08-02 0.867447
2018-08-03 0.789696
2018-08-04 0.781954
2018-08-05 0.876142
dtype: float64 'pandas.core.series.Series'>
DatetimeIndex(['2017-08-01', '2018-08-02', '2018-08-03', '2018-08-04',
'2018-08-05'],
dtype='datetime64[ns]', freq=None)
2.pandas.date_range():直接生成Datetimeindex
两种生成方式:1.start+end ; 2.start / end+period
默认频率:天
t1=pd.date_range('2017/1/4','2017/1/9',normalize=True)
print(t1)
DatetimeIndex(['2017-01-04', '2017-01-05', '2017-01-06', '2017-01-07',
'2017-01-08', '2017-01-09'],
dtype='datetime64[ns]', freq='D')
periods:表示时间日期,从start开始往后或end往前生成n天
t2=pd.date_range('2017/1/4',periods=10)
print(t2)
DatetimeIndex(['2017-01-04', '2017-01-05', '2017-01-06', '2017-01-07',
'2017-01-08', '2017-01-09', '2017-01-10', '2017-01-11',
'2017-01-12', '2017-01-13'],
dtype='datetime64[ns]', freq='D')
增加时分秒:
t3=pd.date_range('2017/1/4 15:30:00',periods=10)
print(t3)
DatetimeIndex(['2017-01-04 15:30:00', '2017-01-05 15:30:00',
'2017-01-06 15:30:00', '2017-01-07 15:30:00',
'2017-01-08 15:30:00', '2017-01-09 15:30:00',
'2017-01-10 15:30:00', '2017-01-11 15:30:00',
'2017-01-12 15:30:00', '2017-01-13 15:30:00'],
dtype='datetime64[ns]', freq='D')
*参数解读:
pandas.date_range(start=None,end=None,periods=None,freq=’D’,tz=None,normalize=False,name=None,colsed=None,**kwags)
start:开始时间
end:结束时间
periods:偏移量
freq:频率,默认天,也可以是B(工作日),H(小时), T/MIN(分),S(秒),L(毫秒),U(微秒),pd.bdate_range()默认为工作日
tz:时区
normalize:时间正则化到午夜时间戳,(直接变成0:00:00)
name:时间索引对象名称
closed:决定日期区间,默认为None的情况下是左闭右闭,left为左闭右开,right为左开右闭*