Pandas处理时间序列数据
Pandas时序处理中最常见的两种数据类型为datetime
和timedelta
。
flowchart TB
datetime --data --> 2024-01-01
datetime --time--> 10:00:00
datetime
顾名思义就是既有日期date
也有时间time
,表示一个具体的时间点(时间戳)。
timedelta
则表示两个时间点之间的差,比如2024-01-01
和2024-01-02
之间的timedelta
即为一天。
pd.to_datetime()
,可以将对应的时间列转换为Pandas中的datetime64
类型set_index()
将时间序列设定为索引- 提取出时间/日期的属性
在时序数据处理过程中,经常需要实现下述需求:
- 求某个日期对应的星期数(2019-06-05是第几周)
- 判断一个日期是周几(2020-01-01是周几)
- 判断某一日期是第几季度(2019-07-08属于哪个季度)
当数据中的时间列已经转换为datetime64
格式时,仅需调用.dt
接口,即可求得想要的结果
Property | Description | Property | Description |
---|---|---|---|
year | 年份 | month | 月份 |
day | 日 | hour | 时 |
minute | 分 | second | 秒 |
date | 日期 | time | 时间 |
dayofyear | 一年中的第几天 | weekofyear | 一年中的第几周 |
weekday | 一周中的第几天,0对应周一 | weekday_name | 周几的名称,如周一为Monday |
quarter | 第几个季度 | is_leap_year | 是否闰年 |
- resample基于时间的
groupby
操作