Pandas系列(十六)快速进行日期处理
文章目录
Pandas日期处理的作用:将2018-01-01
、1/1/2018
等多种日期格式映射成统一的格式对象,在该对象上提供强大的功能支持,能够简单地对日期进行处理。
几个概念:
-
pd.to_datetime:
pandas
的一个函数,能将字符串、列表、series
变成日期形式。对单个日期字符串处理会得到Timestamp
, 对日期字符串列表处理会得到DatetimeIndex
。 -
Timestamp:
pandas
表示日期的对象形式。 -
DatetimeIndex:
pandas
表示日期的对象列表形式。DatetimeIndex
是Timestamp
的列表形式。
用图表可表示为如下形式:
读取天气数据到dataframe
将日期列转换成pandas的日期
set_index()
方法将索引设置为日期形式,此时索引的类型已经变成了datetime64
的格式:
方便的对DatetimeIndex进行查询
这种格式的index
可以很方便地进行查询数据:
- 筛选固定的某一天:
- 日期区间:
- 按月份前缀筛选:
- 按月份列表筛选:
- 按年份前缀筛选:
方便的获取周、月、季度
Timestamp
、DatetimeIndex
支持大量的属性可以获取日期分量:https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#time-date-components
统计每周、每月、每个季度的最高温度
如果想要对每周,每月,每个季度的数据进行处理的话,可以采用以下方式:
- 统计每周的数据:
- 统计每个月的数据:
- 统计每个季度的数据:
日期索引的缺失
首先利用set_index()
将df
的索引变成日期索引:
使用pandas.reindex填充缺失的索引
使用pandas.resample方法
-
resample的含义:改变数据的时间频率,比如把天数据变成月份,或者把小时数据变成分钟级别。
-
resample的语法:(DataFrame or Series).resample(arguments).(aggregate function)
-
resample的采样规则参数:https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#offset-aliases