导读
pandas是Python数据分析最好用的第三方库,没有之一。——笛卡儿没说过这句话!
在进行时间相关的数据分析时,时间序列的处理是自然而然的事情,从创建、格式转换到筛选、重采样和聚合统计,pandas都提供了全套方法支持,用的熟练简直是异常丝滑。
pandas时间序列创建最为常用的有以下2种方式:
pd.date_range(),创建指定日期范围,start、end和periods三个参数任意指定2个即可,另有频率、开闭端点、时区等参数可选
- pd.Timestamp(),时间戳对象,从其首字母大写的命名方式可以看出这是pandas中的一个类,实际上相当于Python标准库中的datetime的定位,在创建时间对象时可接受日期字符串、时间戳数值或分别指定年月日时分秒等参数三类,仅能生成单一时间点。其优点是Timestamp类提供了丰富的时间处理接口,如日期加减、属性提取等
与二者类似,pandas还提供了pd.period和pd.period_range两个方法,分别用于创建单个时期和时期序列。这里时期是一段时间,而date或timestamp则是一个时间点。
02 转换实际应用中,与时间格式相互转换最多的应该就是字符串格式了,这也是最为常用也最为经典的时间转换需求,pandas中自然也带有这一功能:
pd.to_datetime:字符串转时间格式
dt.astype(str):时间提取字符串
其中,pd.to_datetime可接受单个或多个日期数值,具体类型包括数值型、字符串、数组或pd.series等序列,其中字符串日期格式几乎包含了所有可能的组成形式,例如"年/月/日","月/日/年"和"月-日-年"等形式,字符串转换日期也是实际应用中最为常见的需求。反之,对于日期格式转换为相应的字符串形式,pandas则提供了时间格式的"dt"属性,类似于pandas为字符串类型提供了str属性及相应方法,时间格式的"dt"属性也支持大量丰富的接口。例