¿Desea desplazar la columna en el dataframe de pandas en uno?

Tengo un fotogtwig de pandas. Quiero ‘retrasar’ una de mis columnas. Lo que significa, por ejemplo, cambiar toda la columna ‘gdp’ hacia arriba en uno, y luego eliminar todo el exceso de datos en la parte inferior de las filas restantes para que todas las columnas tengan la misma longitud nuevamente.

df = y gdp cap 0 1 2 5 1 2 3 9 2 8 7 2 3 3 4 7 4 6 7 7 df_lag = y gdp cap 0 1 3 5 1 2 7 9 2 8 4 2 3 3 7 7 

¿Alguna forma de hacer esto?

 In [44]: df['gdp'] = df['gdp'].shift(-1) In [45]: df Out[45]: y gdp cap 0 1 3 5 1 2 7 9 2 8 4 2 3 3 7 7 4 6 NaN 7 In [46]: df[:-1] Out[46]: y gdp cap 0 1 3 5 1 2 7 9 2 8 4 2 3 3 7 7 

Desplazar la columna gdp arriba:

 df.gdp = df.gdp.shift(-1) 

y luego quitar la última fila

 df.gdp = df.gdp.shift(-1) ## shift up df.gdp.drop(df.gdp.shape[0] - 1,inplace = True) ## removing the last row