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))
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章名称:Python数据分析之时间序列-创新互联
本文URL:http://scgulin.cn/article/depioc.html