pandas 笔记:asfreq

1 方法介绍

asfreq 是一个在 Pandas 时间序列数据分析中常用的方法。这个方法主要用于改变时间序列的频率。asfreq 可以帮助我们将一个时间序列从一个频率转换为另一个频率

2 基本用法

DataFrame.asfreq(
    freq, 
    method=None, 
    how=None, 
    normalize=False, 
    fill_value=None)

3 参数说明

freq字符串,表示目标频率
method

用于指定如何填充缺失值

  • None: 不填充缺失值
  • 'backfill'/'bfill': 使用下一个非缺失值进行填充
  • 'pad'/'ffill': 使用前一个非缺失值进行填充
how

{'start', 'end'},默认为 'end'

于在聚合高频率数据时确定目标频率的哪一端用于标签

how='end' 表示使用 12/31,而不是 1/1

normalize布尔值,默认为 False。如果为 True,则将开始和结束时间标准化为午夜
fill_value用于填充在重新采样过程中引入的缺失值

4 举例

import pandas as pd

# 创建一个时间序列 DataFrame
date_rng = pd.date_range(start='1/1/2022', end='2/10/2022', freq='D')
data = {'date': date_rng, 'data': range(41)}
df = pd.DataFrame(data)
df

# 将其设置为时间索引
df.set_index('date', inplace=True)
df

 

df.asfreq('W') 

 

5 freq汇总

5.1 常规时间序列频率

  • D: 日历日
  • B: 工作日
  • H: 小时
  • Tmin: 分钟
  • S: 秒
  • Lms: 毫秒
  • Uus: 微秒
  • N: 纳秒

5.2 月份相关

  • M: 月底日期
  • BM: 月底的工作日
  • MS: 月初日期
  • BMS: 月初的工作日

5.3 季度相关

  • Q: 季度末日期
  • BQ: 季度末的工作日
  • QS: 季度初日期
  • BQS: 季度初的工作日

5.4 年份相关

  • AY: 年底日期
  • BABY: 年底的工作日
  • ASYS: 年初日期
  • BASBYS: 年初的工作日

5.5 周相关

  • W: 每周
  • W-MON, W-TUE, ...: 每周,并指定开始的工作日

5.6 其他

  • SM: 半月末(15号和月底)
  • SMS: 半月初(1号和15号)
  • BH: 工作时间内的小时

5.6 组合

还可以组合这些基本频率来创建新的频率。例如,你可以使用 "2H30T" 来表示 2小时30分钟的频率。

5.7 锚定偏移量

  • WOM-1MON, WOM-2MON, ...: 每月的第1、2、...个星期一
  • Q-JAN, Q-FEB, ...: 每季度,以1月、2月、...为季度末月份
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值