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

如何将Pandas Series转换为DataFrame并正确填充DataFrame末尾行的预测值

正确填充DataFrame末尾20行的方法

我来帮你搞定这个问题!你之前的操作踩了个常见的坑——误用了append方法,它是用来拼接数据生成新对象的,不会直接修改原DataFrame的内容。咱们换个直接有效的思路来实现需求:

为什么之前的方法失败?

你调用的append()只会返回一个新的Series/DataFrame,完全不会改动原DataFrame的内容。而且你定位到df.Y_pred.iloc[-20:]后再append,只是把新Series拼到这个切片后面,根本没触碰到原DataFrame的对应位置,所以原df里的Y_pred列自然还是全NaN。

正确的实现步骤

你的核心需求是把二维numpy数组Y_pred的值,填充到已有DataFrame最后20行的Y_pred列中,步骤如下:

  1. 初始化Y_pred列为NaN(这一步你已经做对了)
  2. 把二维的Y_pred数组转换成一维结构(你的数组是(20,1)的形状,需要提取出里面的数值)
  3. 直接给DataFrame最后20行的Y_pred列赋值

具体代码如下:

import pandas as pd
import numpy as np

# 假设你的df已经存在,且行数超过20行
# 初始化Y_pred列为NaN
df['Y_pred'] = np.nan

# 把二维的Y_pred转换成一维数组(两种方式二选一)
Y_pred_flat = Y_pred.flatten()  # 方式1:展平数组
# Y_pred_flat = Y_pred[:, 0]  # 方式2:提取每一行的第一个元素

# 直接给最后20行的Y_pred列赋值
df.loc[df.index[-20:], 'Y_pred'] = Y_pred_flat

验证填充结果

你可以用下面的代码确认填充效果:

print(df.tail(20))

执行后就能看到Y_pred列的最后20行已经被正确填充,前面的行依然保持NaN状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 13:42:42