在数据帧中添加行移位

2024-09-30 16:34:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个pandasdf,我通过使用shift()函数迭代原始df创建了它:

for i in range(2, 4):
    df["lag_{}".format(i)] = df.x.shift(i)

因此,将有实际的x列和lag2-lag10列具有移位的x值。我已经为回归模型训练了这个数据集,以便进行一步预测。希望在数据帧末尾添加新行,其中x的nan值和最后位置的偏移值,以便能够使用这些新的滞后来拟合模型以预测新的nan值。如何在熊猫身上做到这一点?谢谢

Upd: 这是df的图片,未绑定df,加粗所需行以获得:

enter image description here


Tags: 数据函数in模型formatdfforshift
1条回答
网友
1楼 · 发布于 2024-09-30 16:34:01

^{}与键为x的字典一起使用:

df = pd.DataFrame({'x':range(10)})

df1 = df.append({'x':np.nan}, ignore_index=True)
#alternative
#df1 = df.append(pd.Series([np.nan], index=['x']), ignore_index=True)

for i in range(2, 10):
    df1["lag_{}".format(i)] = df1.x.shift(i)
print (df1)
      x  lag_2  lag_3  lag_4  lag_5  lag_6  lag_7  lag_8  lag_9
0   0.0    NaN    NaN    NaN    NaN    NaN    NaN    NaN    NaN
1   1.0    NaN    NaN    NaN    NaN    NaN    NaN    NaN    NaN
2   2.0    0.0    NaN    NaN    NaN    NaN    NaN    NaN    NaN
3   3.0    1.0    0.0    NaN    NaN    NaN    NaN    NaN    NaN
4   4.0    2.0    1.0    0.0    NaN    NaN    NaN    NaN    NaN
5   5.0    3.0    2.0    1.0    0.0    NaN    NaN    NaN    NaN
6   6.0    4.0    3.0    2.0    1.0    0.0    NaN    NaN    NaN
7   7.0    5.0    4.0    3.0    2.0    1.0    0.0    NaN    NaN
8   8.0    6.0    5.0    4.0    3.0    2.0    1.0    0.0    NaN
9   9.0    7.0    6.0    5.0    4.0    3.0    2.0    1.0    0.0
10  NaN    8.0    7.0    6.0    5.0    4.0    3.0    2.0    1.0

相关问题 更多 >