Python如何将月度数据集按季度求均值生成指定起始季度的新DataFrame
Python实现月度数据转季度均值数据集
首先确保你已经安装了pandas库,可直接运行以下代码:
import pandas as pd # 1. 读取源数据,根据你的文件格式替换读取方法(支持csv/excel/json等) # 示例为读取csv文件,若为其他格式可对应调整 source_df = pd.read_csv("你的源数据文件路径.csv") # 可选:如果value列为字符串格式,先转为数值型 # source_df['value'] = pd.to_numeric(source_df['value'], errors='coerce') # 2. 每连续4条月度数据为一组,计算每组value的均值 quarter_value = source_df['value'].groupby(source_df.index // 4).mean() # 3. 生成从1947Q3开始的250个季度标识,格式为「年份 Q季度」 quarter_index = pd.period_range(start='1947Q3', periods=250, freq='Q').strftime('%Y Q%q') # 4. 构建最终的结果DataFrame result_df = pd.DataFrame( data={'value': quarter_value.values}, index=quarter_index ) # 可选:导出结果到csv # result_df.to_csv("季度均值结果.csv")
注意事项
- 运行前必须确认源数据的行顺序是按时间从早到晚排序,否则分组计算的均值会匹配到错误的季度
- 如果你的源数据条数不是刚好1000条,可对应调整
period_range中的periods参数,参数值等于源数据总行数整除4的结果
内容的提问来源于stack exchange,提问作者userom12
相关产品推荐
相关产品推荐

