You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R语言中将周度经济序列数据转换为工作日日度数据

周度经济数据转日度(工作日填充)解决方案

针对你的需求——将周度序列数据转换为日度,且每个周度值覆盖后续5个非周末工作日,以下是基于Python pandas的高效实现方法:

步骤说明

  1. 将原始周度数据的日期列转换为datetime格式,方便时间序列处理。
  2. 生成指定日期范围内的所有工作日(过滤周末)。
  3. 通过重索引+前向填充,将周度值映射到对应的工作日区间。

完整代码实现

import pandas as pd

# 1. 定义原始周度数据(替换为你的实际数据读取逻辑,比如pd.read_csv)
weekly_data = pd.DataFrame({
    'Date': ['2014-01-07', '2014-01-14', '2014-01-21', '2014-01-28', '2014-02-04'],
    'Value': [14791, 14698, 14523, 16233, 14783]
})

# 2. 转换日期格式并设置为索引
weekly_data['Date'] = pd.to_datetime(weekly_data['Date'])
weekly_data.set_index('Date', inplace=True)

# 3. 生成日期范围内的所有工作日(freq='B'代表工作日)
start_date = weekly_data.index.min()
end_date = weekly_data.index.max()
all_weekdays = pd.date_range(start=start_date, end=end_date, freq='B')

# 4. 重索引+前向填充,完成周转日转换
daily_data = weekly_data.reindex(all_weekdays).ffill()

# 5. 重置索引,恢复Date列格式
daily_data.reset_index(inplace=True)
daily_data.rename(columns={'index': 'Date'}, inplace=True)

# 查看结果
print(daily_data)

结果说明

  • 代码会自动将每个周度数据点的Value填充到从该日期开始,到下一个周度数据点前一个工作日的所有非周末日期,正好对应你要求的5个工作日区间。
  • 若你的周度数据间隔不固定(非严格每周一次),该方法依然有效:前向填充会持续到下一个可用的周度数据点为止。

内容的提问来源于stack exchange,提问作者Kevin Muir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 20:57:51