基于pandas现有DataFrame生成指定长度新时间索引数据集的方法
实现代码
首先确保你的df_train索引已经转换为datetime类型,之后执行以下代码即可:
import pandas as pd # 第一步:确认df_train索引为datetime格式(如果已经是可以跳过) df_train.index = pd.to_datetime(df_train.index) # 第二步:计算历史数据均值 train_avg = df_train['X1'].mean() # 第三步:用你生成的未来时间索引创建新df future_dates = pd.date_range(df_train.index.max(), periods=12, freq='M') df_result = pd.DataFrame(index=future_dates, columns=['X1']) # 第四步:前N行填充历史数据,剩余行填充均值 n_train = len(df_train) df_result.iloc[:n_train] = df_train['X1'].values df_result.iloc[n_train:] = train_avg # 可选:如果需要把日期格式调整为你示例的"%m-%d-%Y"字符串格式,可以加这行 df_result.index = df_result.index.strftime('%m-%d-%Y')
代码说明
- 你提供的样本数据算出来的X1列平均值为2.5,和你预期的填充值完全一致
- 新生成的DataFrame长度和你指定的
future_dates长度一致,前len(df_train)行完全复用原有数据,剩余行统一填充均值 - 最后可选的日期格式转换步骤可以根据你的实际输出需求决定是否保留
内容的提问来源于stack exchange,提问作者user2512443
相关产品推荐
相关产品推荐

