¿Cómo puedo crear una columna en un marco de datos de pandas con el gradiente de otra columna?
Quiero que el gradiente se ejecute en una ventana móvil, de modo que solo se evalúen 4 puntos de datos a la vez.
Supongo que es algo como:
df['Gradient'] = np.gradient(df['Yvalues'].rolling(center=False,window=4))
Sin embargo, esto da error:
raise ValueError('Length of values does not match length of ' 'index')
ValueError: Length of values does not match length of index
¿Algunas ideas?
¡¡Gracias!!
Solución del problema
A partir de la información proporcionada, se puede ver que no ha proporcionado una función de agregación a su ventana móvil.
df['Gradient'] = np.gradient(
df['Yvalues']
.rolling(center=False, window=4)
.mean()
)
o
df['Gradient'] = np.gradient(
df['Yvalues']
.rolling(center=False, window=4)
.sum()
)
Puede leer más sobre las funciones de balanceo en este sitio web.
No hay comentarios.:
Publicar un comentario