数据框列的选择性移动

时间:2018-09-25 14:33:18

标签: python pandas dataframe

我有一个包含许多列的数据帧,并且有选择地希望将所有列(命名为目标)滞后指定的步数。

def: shift_target(df,target,lag):
     df[df.columns != target].shift(lag)
     df = df.dropna()
     return df 

以上似乎无效。我可以指定不移一列吗?

例如

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以构造一个新的数据框。这通常比通过Pandas方法处理现有数据框更有效。例如:

n = 4

res = df.iloc[:-n, 1:].copy()
res.index = df.index[n:]
res['Target'] = df['Target'].iloc[n:].values