Попробуй это.Однако, как пишет @Quang Hoang в комментариях, гораздо сложнее делать с df.diff(axis=1)
.Мне не пришло в голову, когда я писал этот ответ.
df.sub(df.shift(axis=1))
В этом коде мы в основном смещаем все столбцы на один шаг по оси = 1 (по вертикали) и вычитаем его из того, что на самом деле есть.df.diff(axis=1)
- встроенная функция для этого.
Выход
2000 2001 2002 2003 2004
Michael NaN 2.0 3.0 -7.0 -5.0
John NaN -2.0 1.0 6.0 13.0
Mitch NaN 10.0 -8.0 2.0 1.0
Jeff NaN -1.0 11.0 -5.0 3.0
Ron NaN 5.0 0.0 -1.0 -2.0