dataframe – ¿Cómo se puede filtrar un dataset comparando internamente cada valor de las columnas en Phyton?

El filtro que intento crear para mi dataset es uno en el que se vaya comparando cada valor dentro de cada columna, y si por ejemplo el valor correspondiente se desvía en un 20% del valor anterior se sustituya ese dato por el anterior. Para ello he intentado crear un bucle for, pero al empezar este por 0 y tener la necesidad de comparar con el anterior, es decir -1, me da error.

De esta manera, necesitaría dividir todo el dataset por columnas y aplicar dicho bucle para cada una de ellas, por lo que creo que no es eficiente. No se si se podría hacer de alguna otra forma, con .loc o algo que sea más directo/sencillo.

Muestro a continuación el código. Muchas gracias!

introducir la descripción de la imagen aquí

introducir la descripción de la imagen aquí
introducir la descripción de la imagen aquí