7.1 把字符串转换成日期
问题描述
把一个代表日期和时间的字符串向量转换成时间序列数据。
解决方案
使用pandas的to_datetime函数,并通过format参数指定字符串的日期和(或)时间格式:
还可以增加一个errors参数来处理错误:
如果传入errors="coerce",当转换出现错误时不会抛出异常(默认行为),但是会将导致这个错误的值设置成NaT(也就是缺失值)。
讨论
当日期和时间以字符串形式出现时,需要将它们转换成Python能理解的数据类型。虽然Python中有许多工具能将字符串转换成datetime类型,但在后面的章节中我们都会使用pandas的to_datetime来执行转换。用字符串来表示日期和时间有一个缺点,即如果数据源不同,字符串的格式也会相去甚远。例如,一个日期向量可能将2015年3月23日表示成“03\-23-15”,也可能表示成“3|23|2015”。使用format参数可以指定字符串的具体格式。下表列出了常用的日期和时间的格式化代码。
延伸阅读
● Python中日期和时间格式化代码的完整列表(http://strftime.org)
本书评论