Contenido de este artículo
- 0
- 0
- 0
- 0
Una media móvil es simplemente la media de un cierto número de períodos anteriores en una serie de tiempo.
Para calcular la media móvil de una o más columnas en un DataFrame de pandas, podemos usar la siguiente sintaxis:
df [' nombre_columna ']. rolling ( rolling_window ). significa ()
Este tutorial proporciona varios ejemplos de cómo utilizar esta función en la práctica.
Ejemplo: calcular la media móvil en pandas
Supongamos que tenemos el siguiente DataFrame de pandas:
importar numpy como np importar pandas como pd #Haga que este ejemplo sea reproducible np. al azar . semilla (0) #create dataset period = np. arange (1, 101, 1) leads = np. al azar . uniforme (1, 20, 100) ventas = 60 + 2 * período + np. al azar . normal (loc = 0, escala = .5 * período, tamaño = 100) gl = pd. DataFrame ({' período ': período, ' clientes potenciales ': clientes potenciales, ' ventas ': ventas}) #ver las primeras 10 filas df. cabeza (10) el período conduce a las ventas 0 1 11.427457 61.417425 1 2 14.588598 64.900826 2 3 12.452504 66.698494 3 4 11,352780 64,927513 4 5 9.049441 73.720630 5 6 13.271988 77.687668 6 7 9.314157 78.125728 7 8 17,943687 75,280301 8 9 19.309592 73.181613 9 10 8.285389 85.272259
Podemos usar la siguiente sintaxis para crear una nueva columna que contenga la media móvil de ‘ventas’ de los 5 períodos anteriores:
# encontrar la media móvil de los 5 períodos de ventas anteriores df [' rolling_sales_5 '] = df [' sales ']. rodante (5). significa () #ver las primeras 10 filas df. cabeza (10) el período conduce a las ventas rolling_sales_5 0 1 11.427457 61.417425 NaN 1 2 14.588598 64.900826 NaN 2 3 12.452504 66.698494 NaN 3 4 11,352780 64,927513 NaN 4 5 9.049441 73.720630 66.332978 5 6 13.271988 77.687668 69.587026 6 7 9.314157 78.125728 72.232007 7 8 17,943687 75,280301 73,948368 8 9 19.309592 73.181613 75.599188 9 10 8.285389 85.272259 77.909514
Podemos verificar manualmente que las ventas medias móviles que se muestran para el período 5 son la media de los 5 períodos anteriores:
Media móvil en el período 5: (61,417 + 64,900 + 66,698 + 64,927 + 73,720) / 5 = 66,33
Podemos usar una sintaxis similar para calcular la media móvil de varias columnas:
# encontrar la media móvil de los 5 periodos de clientes potenciales anteriores df [' rolling_leads_5 '] = df [' leads ']. rodante (5). significa () # encontrar la media móvil de los 5 períodos de clientes potenciales anteriores df [' rolling_sales_5 '] = df [' ventas ']. rodante (5). significa () #ver las primeras 10 filas df. cabeza (10) período genera ventas rolling_sales_5 rolling_leads_5 0 1 11.427457 61.417425 NaN NaN 1 2 14.588598 64.900826 NaN NaN 2 3 12.452504 66.698494 NaN NaN 3 4 11,352780 64,927513 NaN NaN 4 5 9.049441 73.720630 66.332978 11.774156 5 6 13.271988 77.687668 69.587026 12.143062 6 7 9.314157 78.125728 72.232007 11.088174 7 8 17,943687 75,280301 73,948368 12,186411 8 9 19.309592 73.181613 75.599188 13.777773 9 10 8.285389 85.272259 77.909514 13.624963
También podemos crear una gráfica de línea rápida usando Matplotlib para visualizar las ventas sin procesar en comparación con la media móvil de ventas:
importar matplotlib. pyplot como plt plt. plot (df [' rolling_sales_5 '], label = ' Media móvil ') plt. plot (df [' ventas '], label = ' Datos brutos ') plt. leyenda () plt. ylabel (' Ventas ') plt. xlabel (' Período ') plt. mostrar ()
La línea azul muestra la media móvil de ventas de 5 períodos y la línea naranja muestra los datos de ventas sin procesar.
Recursos adicionales
Cómo calcular la correlación de rodadura en pandas
Cómo calcular la media de columnas en pandas
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: