(1.31)--4-5-3时区和时间差.ppt
《(1.31)--4-5-3时区和时间差.ppt》由会员分享,可在线阅读,更多相关《(1.31)--4-5-3时区和时间差.ppt(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4 4章章 数据处理和分析数据处理和分析-Pandas-Pandas第第1414讲讲 时区和时间差时区和时间差Contents目录01认识时区和时间差认识时区和时间差时区时区转换和本地化转换和本地化02时区敏感型时区敏感型TimestampTimestamp对象对象03不同时区之间的运算不同时区之间的运算04时间差的时间差的运算运算0501认识时区和时间差时区和时间差时区Timezone在时间序列的处理中,经常会遇到对时区的处理。作为国际标准时间的格林威治时间(GMT)已经逐渐被协调世界时(UTC)所取代,成为目前的国际标准。在时间序列的处理中,时区是以UTC偏移量的形式表示的。在Pyth
2、on中,时区信息来自第三方库pytz,使得Python可以利用汇编了世界时区信息的Olson数据库处理时区信息。由于不同国家和地区对夏令时(DST)的不断调整,时区对历史数据的影响尤为重要。如美国的DST转变时间自1900年以来就改变过多次!Pandas封装了pytz的功能,在安装Pandas库时已经自动安装,因此无须单独安装pytz模块。在使用时区信息时,只要记住时区的名称即可,可以不用记忆其API。import pytz#导入模块 mon_timezones-5:#切片查看时区名称信息US/Eastern,US/Hawaii,US/Mountain,US/Pacific,UTC tz=py
3、tz.timezone(Asia/Shanghai)#根据时区名称获取时区对象 tz时区和时间差时间差Timedelta时间差Timedelta表示时间之间的差异,是一种绝对时间周期,类似于Python标准库的 datetime.timedelta,其时间单位可以是日、时、分、秒等,且可正可负。时间差可以由pandas.Timedelta类创建,也可以使用pandas.to_timedelta()函数也可以把符合时间差格式的标量、数组、列表、序列等数据转换为Timedelta。其中,由Timedelta类创建相应的实例对象时,可用的时间单位并没有年和月,如下表。名称名称单位单位说明说明名称名称
4、单位单位说明说明weeks无星期secondss秒daysD天millisecondsms毫秒hoursh小时microsecondsus微妙minutesm分nanosecondsns纳秒时区和时间差时间差生成-使用Timedelta类使用Timedelta类,可以对多种参数进行解析,生成时间差。pd.Timedelta(1 days 2 hours)#使用字符串生成时间差Timedelta(1 days 02:00:00)pd.Timedelta(1,unit=D)#用整数与时间单位生成时间差Timedelta(1 days 00:00:00)pd.Timedelta(-1ms)#负数时间
5、差Timedelta(-1 days+23:59:59.999000)pd.Timedelta(nat)#时间差缺失值NaT pd.Timedelta(P0DT0H1M0S)#支持ISO8601时间格式字符串Timedelta(0 days 00:01:00)pd.Timedelta(pd.offsets.Second(10)#使用DateOffset对象生成时间差Timedelta(0 days 00:00:10)时区和时间差 pd.to_timedelta(1 days 09:10:02.00003)#解析单个字符串Timedelta(1 days 09:10:02.000030)pd.t
6、o_timedelta(1 days 09:10:02.00003,15.5us,nan)#解析字符串列表或数组TimedeltaIndex(1 days 09:10:02.000030,0 days 00:00:00.000015,NaT,dtype=timedelta64ns,freq=None)pd.to_timedelta(range(3),unit=h)#unit参数指定时间差的单位TimedeltaIndex(00:00:00,01:00:00,02:00:00,dtype=timedelta64ns,freq=None)时间差生成-使用to_timedelta()函数02时区转换
7、和本地化时区转换和本地化时间序列中的时区在默认情况下,Pandas中生成的时间序列是朴素的(naive)的时区,不带有时区信息。通过设置pandas.date_range()函数等的tz参数,创建带有时区信息的时间序列,称为时区敏感型(aware)的时间序列。使用tz_localize()方法将朴素时区本地化。使用tz_convert()方法将敏感时区转换为其它时区。这两个方法适用于DatetimeIndex对象,也适用于Series和DataFrame对象。时区转换和本地化时间序列中的时区-转换示例 ts_naive=pd.date_range(2019-3-1 8:30,periods=6
8、,freq=D)#创建时间序列 ts=pd.Series(np.random.randn(len(ts_naive),index=ts_naive)#时间序列为Series对象的索引 print(ts.index.tz,ts_naive.tz)#默认无时区信息None None#创建时区敏感型时间序列 ts_aware=pd.date_range(2019-3-1 8:30,periods=6,freq=D,tz=UTC)ts_naive.tz_localize(Asia/Shanghai)#朴素时区本地化 ts_aware.tz_convert(None)#敏感时区转换为朴素时区 ts_ea
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1.31 时区 时间差
限制150内