《利用Python进行数据分析》 11.1日期和时间数据的类型及工具

11.1 日期和时间数据的类型及工具


Python标准库包含了日期和时间数据的类型,也包括日历相关的功能

datetime、time和calendar模块是开始处理时间数据的主要内容

1.datetime.datetime类型,或简写为datetime被广泛使用(见图11-1)

《利用Python进行数据分析》 11.1日期和时间数据的类型及工具_第1张图片
图11-1:datetime使用

:datetime既存储了日期,也存储了细化到微秒的时间

2.timedelta表示两个datetime对象的时间差(见图11-2)

《利用Python进行数据分析》 11.1日期和时间数据的类型及工具_第2张图片
图11-2:timedelta使用

3.加减时间操作

可以为一个datetime对象加上(或减去)一个timedelta或其整数倍来产生一个新的datetime对象(见图11-3)

《利用Python进行数据分析》 11.1日期和时间数据的类型及工具_第3张图片
图11-3:加减时间操作

:datetime模块的数据类型(见表11-1)

《利用Python进行数据分析》 11.1日期和时间数据的类型及工具_第4张图片
表11-1:datetime模块的数据类型

11.1.1 字符串与datetime互相转换


1.使用str方法或传递一个指定的格式给strftime方法来对datetime对象和pandas的Timestamp对象进行格式化(见图11-4)

《利用Python进行数据分析》 11.1日期和时间数据的类型及工具_第5张图片
图11-4:str方法

:格式代码的完整列表(见表11-2)

《利用Python进行数据分析》 11.1日期和时间数据的类型及工具_第6张图片
表11-2:格式代码的完整列表(兼容ISO C89)

2.使用datetime.srtptime和格式代码,将字符串转换日期(见图11-5)

《利用Python进行数据分析》 11.1日期和时间数据的类型及工具_第7张图片
图11-5:datetime.srtptime操作

补充:datetime.strptime是在已知格式的情况下转换日期的好方式,但每次都必须编写一个格式代码可能有点烦人,特别是对于通用日期格式

在这种情况下,可以使用第三方dateutil包的parser.parse方法(这个包在安装pandas时已经自动安装)(见图11-6)

《利用Python进行数据分析》 11.1日期和时间数据的类型及工具_第8张图片
图11-6:parse操作

传递dayfirst=True来表明日期出现在月份之前(见图11-7)

图11-7:日期在月份之前操作

:dateutil.parser是一个有用但并不完美的工具。值得注意的是,它会将一些字符串识别为你并不想要的日期——例如,'42’将被解析为2042年的当前日期

3.使用to_datetime方法可以转换很多不同的日期表示格式

pandas主要是面向处理日期数组的,无论是用作轴索引还是用作DataFrame中的列(见图11-8)

《利用Python进行数据分析》 11.1日期和时间数据的类型及工具_第9张图片
图11-8:to_datetime方法

4.使用to_datetime方法处理那些被认为是缺失值的值(None、空字符串等)(见图11-9)

《利用Python进行数据分析》 11.1日期和时间数据的类型及工具_第10张图片
图11-9:处理缺失值

:NaT(Not a time)是pandas中时间戳数据的是null值

:datetime对象还拥有许多其他国家或语言系统的本地化格式选项。例如,德语或法语的月份名称会和英语系统有所不同(见表11-3)

《利用Python进行数据分析》 11.1日期和时间数据的类型及工具_第11张图片
表11-3:特定地区日期格式化选

你可能感兴趣的:(《利用Python进行数据分析》 11.1日期和时间数据的类型及工具)