Pandas时间序列:频率和日期偏移量
程序员文章站
2024-03-14 13:42:40
...
import pandas as pd
import numpy as np
一、介绍
- pandas中的频率是由一个基础频率(例如“日”、“月”)和一个乘数组成。
- 基础频率通常以一个字符串别名表示,比如“D”表示日,“M”表示月。
- 对于每个基础频率,都有一个被称为日期偏移量(date offset)的对象与之对应,比如日期偏移量Hour对应的频率是H。
二、日期偏移量
from pandas.tseries.offsets import Hour,Minute
hour = Hour()
four_hour = Hour(4)
print(hour)
print(four_hour)
<Hour>
<4 * Hours>
三、频率
pd.date_range('1/1/2000','1/3/2000',freq='4h')
DatetimeIndex(['2000-01-01 00:00:00', '2000-01-01 04:00:00',
'2000-01-01 08:00:00', '2000-01-01 12:00:00',
'2000-01-01 16:00:00', '2000-01-01 20:00:00',
'2000-01-02 00:00:00', '2000-01-02 04:00:00',
'2000-01-02 08:00:00', '2000-01-02 12:00:00',
'2000-01-02 16:00:00', '2000-01-02 20:00:00',
'2000-01-03 00:00:00'],
dtype='datetime64[ns]', freq='4H')
四、日期偏移量(频率)的组合
偏移量相加
Hour(2)+Minute(30)
<150 * Minutes>
频率组合
pd.date_range('1/1/2000',periods=10,freq='1h30min')
DatetimeIndex(['2000-01-01 00:00:00', '2000-01-01 01:30:00',
'2000-01-01 03:00:00', '2000-01-01 04:30:00',
'2000-01-01 06:00:00', '2000-01-01 07:30:00',
'2000-01-01 09:00:00', '2000-01-01 10:30:00',
'2000-01-01 12:00:00', '2000-01-01 13:30:00'],
dtype='datetime64[ns]', freq='90T')
五、常用频率与日期偏移量
频率 | 日期偏移量 | 说明 |
---|---|---|
D | Day | 日历日 |
B | BusinessDay | 工作日 |
H | Hour | 小时 |
T或min | Minute | 分 |
S | Second | 秒 |
L或ms | Milli | 毫秒 |
U | Micro | 微秒 |
M | MonthEnd | 每月最后一个日历日 |
BM | BusinessMonthEnd | 每月最后一个工作日 |
MS | MonthBegin | 每月第一个日历日 |
BMS | BussinessMonthBegin | 每月第一个工作日 |
W-MON、W-TUE、… | Week | 指定星期几(MON、TUE、WED、THU、FRI、SAT、SUN) |
WOM-1MON、WOM-2MON、… | WeekOfMonth | 产生每月第一、第二、第三或第四周的星期几。例如WOM-3FRI表示每月第3个星期五 |
Q-JAN、Q-FEB、… | QuarterEnd | 以指定月份结束的年度,每季度最后一个月的最后一个日历日 |
BQ-JAN、BQ-FEB、… | BusinessQuarterEnd | 以指定月份结束的年度,每季度最后一个月的最后一个工作日 |
QS-JAN、QS-FEB、… | QuarterBegin | 以指定月份结束的年度,每季度最后一个月的第一个日历日 |
BQS-JAN、BQS-FEB、… | BusinessQuarterBegin | 以指定月份结束的年度,每季度最后一个月的第一个工作日 |
A-JAN、A-FEB、… | YearEnd | 每年指定月份的最后一个日历日 |
BA-JAN、BA-FEB、… | BusinessYearEnd | 每年指定月份的最后一个工作日 |
AS-JAN、AS-FEB、… | YearBegin | 每年指定月份的第一个日历日 |
BAS-JAN、BAS-FEB、… | BusinessYearBegin | 每年指定月份的第一个工作日 |
pd.date_range('1/1/2000','9/1/2000',freq='WOM-3FRI')
DatetimeIndex(['2000-01-21', '2000-02-18', '2000-03-17', '2000-04-21',
'2000-05-19', '2000-06-16', '2000-07-21', '2000-08-18'],
dtype='datetime64[ns]', freq='WOM-3FRI')
上一篇: 在kubernetes中运行的容器
下一篇: autoit使用des加密解密
推荐阅读
-
Pandas时间序列:频率和日期偏移量
-
python时间序列按频率生成日期的方法
-
python时间日期函数与利用pandas进行时间序列处理详解
-
python+pandas+时间、日期以及时间序列处理方法
-
解决Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题
-
python时间序列按频率生成日期的方法
-
Python pandas dataframe 日期时间列中提取月份和年份
-
Pandas日期时间列(Python)中仅提取月份和年份
-
python+pandas+时间、日期以及时间序列处理方法
-
python时间日期函数与利用pandas进行时间序列处理详解