我有一个包含许多列的数据帧,并且有选择地希望将所有列(命名为目标)滞后指定的步数。
def: shift_target(df,target,lag):
df[df.columns != target].shift(lag)
df = df.dropna()
return df
以上似乎无效。我可以指定不移一列吗?
例如
答案 0 :(得分:0)
您可以构造一个新的数据框。这通常比通过Pandas方法处理现有数据框更有效。例如:
n = 4
res = df.iloc[:-n, 1:].copy()
res.index = df.index[n:]
res['Target'] = df['Target'].iloc[n:].values