Если вам нужно сделать это только с двумя столбцами (и я хорошо понимаю ваш вопрос), я думаю, вы можете использовать функцию shift .
Ваш фрейм данных (панды?)что-то вроде:
d = {'A': [2, 1, 5], 'B': [3, 4, 6], 'C': [4, 5, 7], 'D':[5, 6, 8]}
df = pd.DataFrame(data=d)
Итак, можно создать новый фрейм данных со смещением столбца B:
df2 = df['B'].shift(1)
, что дает:
0 NaN
1 3.0
2 4.0
Name: B, dtype: float64
, а затем, объедините эти новые данные с предыдущим df и, например, суммируйте значения:
df = df.join(df2, rsuffix='shift')
df['out'] = df['A'] + df['Bshift']
Окончательный результат в столбце out
:
A B C D Bshift out
0 2 3 4 5 NaN NaN
1 1 4 5 6 3.0 4.0
2 5 6 7 8 4.0 9.0
Но это толькоинтуиция, я не уверен в твоем вопросе!