我有一个包含多个列的dataframe,并且希望有选择地将除一列(名为target)之外的所有列延迟指定的步数。
def: shift_target(df,target,lag):
df[df.columns != target].shift(lag)
df = df.dropna()
return df
上面的方法似乎不起作用。我可以指定不移位一列吗?
例如
发布于 2018-09-25 15:17:07
您可以构建一个新的数据帧。这通常比通过Pandas方法操作现有数据帧更有效。例如:
n = 4
res = df.iloc[:-n, 1:].copy()
res.index = df.index[n:]
res['Target'] = df['Target'].iloc[n:].values
https://stackoverflow.com/questions/52500722
复制相似问题