Función Pandas DataFrame DataFrame.shift()
-
La sintaxis de
pandas.DataFrame.shift()
: -
Códigos de ejemplo:
DataFrame.shift()
Función de desplazamiento a lo largo de la fila -
Códigos de ejemplo:
DataFrame.shift()
Función para desplazar a lo largo de la columna -
Códigos de ejemplo:
DataFrame.shift
Método con el parámetrofill_value
El método de Pandas DataFrame.shift
se utiliza para desplazar el índice de DataFrame
por un número determinado de períodos con una frecuencia de tiempo opcional.
La sintaxis de pandas.DataFrame.shift()
:
DataFrame.shift(periods=1, freq=None, axis=0, fill_value=None)
Parámetros
periods |
Entero. Decide el número de períodos para desplazar el índice que puede ser negativo o positivo |
freq |
DateOffset , tseries.offsets , timedelta , o str . Parámetro opcional utilizado para desplazar los valores de los índices sin realinear los datos |
axis |
desplazarse a lo largo de la fila (axis=0) o fila (axis=1) |
fill_value |
valor escalar que se utilizará para los valores faltantes recientemente introducidos. |
Retorna
Devuelve un objeto DataFrame
con valores de índice desplazados.
Códigos de ejemplo: DataFrame.shift()
Función de desplazamiento a lo largo de la fila
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)
shifted_df=df.shift(periods=1)
print("Shifted DataFrame")
print(shifted_df)
Resultado:
Original DataFrame:
X Y
0 1 4
1 2 1
2 3 8
Shifted DataFrame
X Y
0 NaN NaN
1 1.0 4.0
2 2.0 1.0
Aquí, fijamos el valor de periods
en 1
, y esto desplaza las filas de DataFrame
de la parte superior a la inferior en 1
unidad.
Mientras se desplaza hacia abajo, las filas superiores quedan vacías y se llenan con valores NaN
por defecto.
Si queremos desplazar las filas desde abajo hacia arriba, podemos establecer un valor negativo del parámetro periods
.
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)
shifted_df=df.shift(periods=-2)
print("Shifted DataFrame")
print(shifted_df)
Resultado:
Original DataFrame:
X Y
0 1 4
1 2 1
2 3 8
Shifted DataFrame
X Y
0 3.0 8.0
1 NaN NaN
2 NaN NaN
Desplaza las filas de abajo hacia arriba por un período de 2
.
Códigos de ejemplo: DataFrame.shift()
Función para desplazar a lo largo de la columna
Si queremos desplazar el eje de la columna, ponemos axis=1
en el método shift()
.
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)
shifted_df=df.shift(periods=1,axis=1)
print("Shifted DataFrame")
print(shifted_df)
Resultado:
Original DataFrame:
X Y
0 1 4
1 2 1
2 3 8
Shifted DataFrame
X Y
0 NaN 1.0
1 NaN 2.0
2 NaN 3.0
Aquí, ponemos el valor de periods
en 1
, y esto desplaza las columnas de DataFrame
de la izquierda hacia la derecha en 1
unidad.
Si queremos desplazar el eje de la columna de la derecha hacia la izquierda, fijamos un valor negativo para el parámetro periods
.
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)
shifted_df=df.shift(periods=-1,axis=1)
print("Shifted DataFrame")
print(shifted_df)
Resultado:
Original DataFrame:
X Y
0 1 4
1 2 1
2 3 8
Shifted DataFrame
X Y
0 4.0 NaN
1 1.0 NaN
2 8.0 NaN
Desplaza las columnas de derecha a izquierda por el período de 1
.
Códigos de ejemplo: DataFrame.shift
Método con el parámetro fill_value
En los ejemplos anteriores, los valores que faltan después del desplazamiento se rellenan con NaN
por defecto. También podemos llenar los valores perdidos con otros valores en lugar de NaN
usando el parámetro fill_value
.
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)
shifted_df=df.shift(periods=-1,
axis=1,
fill_value=4)
print("Shifted DataFrame")
print(shifted_df)
Resultado:
Original DataFrame:
X Y
0 1 4
1 2 1
2 3 8
Shifted DataFrame
X Y
0 4 4
1 1 4
2 8 4
Rellena todos los valores perdidos creados por el método shift()
con 4
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn