Python数据分析之时间序列
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_date
print(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))
文章名称:Python数据分析之时间序列
URL分享:http://ybzwz.com/article/jhpsso.html