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

如何将单列DataFrame追加到另一DataFrame并按索引对齐补NaN

解决方法

你之前合并失败的核心原因是两个DataFrame的默认索引没有对齐到你需要的位置:Predicted_Values的3条数据默认索引为0/1/2,直接合并会匹配到Actual_Values的前3行,和你的需求刚好相反。

方法1:重置索引后join

先调整预测值DataFrame的索引,使其对齐实际值DataFrame的最后3行,再直接拼接即可:

import pandas as pd

# 示例数据构造
df_actual = pd.DataFrame({'Actual_Values': [0.60]*5})
df_pred = pd.DataFrame({'Predicted_Values': [0.60]*3})

# 调整预测值索引,起始位置为 实际值长度 - 预测值长度
df_pred.index = range(len(df_actual) - len(df_pred), len(df_actual))

# 直接join得到结果
result = df_actual.join(df_pred)

方法2:直接赋值

如果你不想修改原预测值的索引,也可以直接给实际值DataFrame新增列赋值:

import pandas as pd
import numpy as np

df_actual = pd.DataFrame({'Actual_Values': [0.60]*5})
df_pred = pd.DataFrame({'Predicted_Values': [0.60]*3})

# 先初始化预测值列为空
df_actual['Predicted_Values'] = np.nan
# 给最后N行(N为预测值行数)赋值
df_actual.loc[len(df_actual)-len(df_pred):, 'Predicted_Values'] = df_pred['Predicted_Values'].values

两种方法得到的结果都符合你的预期:

Actual_Values  Predicted_Values
0            0.6               NaN
1            0.6               NaN
2            0.6               0.6
3            0.6               0.6
4            0.6               0.6

内容的提问来源于stack exchange,提问作者Pardeep Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:36:04