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

pandas 笔记:asfreq_第1张图片

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

 pandas 笔记:asfreq_第2张图片

df.asfreq('W') 

 pandas 笔记:asfreq_第3张图片

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月、...为季度末月份

你可能感兴趣的:(python库整理,pandas,笔记)