Agregar una columna que es resultado de la diferencia en filas consecutivas en pandas

Digamos que tengo un dataframe como este

AB 0 ab 1 cd 2 ef 3 gh 

0,1,2,3 son tiempos, a, c, e, g es una serie temporal y b, d, f, h es otra serie temporal. Necesito poder agregar dos columnas al dataframe de orignal que se obtiene al calcular las diferencias de filas consecutivas para ciertas columnas.

Entonces necesito algo como esto

  AB dA 0 ab (ac) 1 cd (ce) 2 ef (eg) 3 gh Nan 

Vi algo llamado diff en el dataframe / series pero eso lo hace de forma ligeramente diferente ya que en el primer elemento se convertirá en Nan.

    Use shift .

     df['dA'] = df['A'] - df['A'].shift(-1) 

    Puede usar diff y pasar -1 como el argumento de los periods :

     >>> df = pd.DataFrame({"A": [9, 4, 2, 1], "B": [12, 7, 5, 4]}) >>> df["dA"] = df["A"].diff(-1) >>> df AB dA 0 9 12 5 1 4 7 2 2 2 5 1 3 1 4 NaN [4 rows x 3 columns]