如何生成时间序列中缺失的年份季度列表(2020Q2至2022Q3)
生成缺失季度列表的Python实现方案
需求说明
现有数据截止至2020Q2,可获取的数据范围已更新至2022Q3,已知参数:
year_missing_end = 2022 quarter_missing_end = 3 num_quarter_missing = 8
需要构建包含缺失年份与季度值的列表,预期结果:
missing_year_quarter_list = ['2020Q3', '2020Q4', '2021Q1', '2021Q2', '2021Q3', '2021Q4', '2022Q1', '2022Q2']
此前尝试的代码无法实现需求:
for x in range(0, num_quater_missing): print((x + quarter_missing_end)%4 + 1)
实现方案
从2020Q3开始生成连续8个季度,我们可以从起始年份和季度出发,逐个计算每个季度的年份与季度值,直到凑够指定数量的元素。
代码实现
# 起始年份和季度(现有数据的下一个季度) start_year = 2020 start_quarter = 3 num_quarter_missing = 8 missing_year_quarter_list = [] current_year = start_year current_quarter = start_quarter for _ in range(num_quarter_missing): # 格式化当前季度字符串并加入列表 missing_year_quarter_list.append(f"{current_year}Q{current_quarter}") # 更新下一个季度 current_quarter += 1 if current_quarter > 4: current_quarter = 1 current_year += 1 print(missing_year_quarter_list)
代码解释
- 先定义起始的年份和季度:由于现有数据截止2020Q2,第一个缺失季度为2020Q3
- 循环指定次数(8次),每次将当前年份和季度格式化为要求的字符串,添加到目标列表
- 每次循环后更新季度值:季度加1,当超过4时,重置为1并将年份加1,自动处理跨年的季度切换
运行这段代码后,即可得到预期的缺失季度列表。
内容的提问来源于stack exchange,提问作者NonSleeper
相关产品推荐
相关产品推荐

