Pandas Rolling Groupby

Pandas Rolling Groupby
El lenguaje de programación de Python proporciona la biblioteca de pandas que tiene muchos métodos que realizan funciones simples a complejas. Los pandas en Python hacen que el análisis de datos sea muy simple y fácil. Además, es un lenguaje muy excepcional para realizar investigaciones de datos al tiempo que proporciona un entorno increíble de paquetes de Python impulsados ​​por la información.

En este artículo, discutiremos la función Pandas Rolling Groupby en Python. Aquí, demostraremos algunos ejemplos útiles que lo ayudarán a aprender sobre la función Pandas Rolling Groupby y cómo usar esa función en el código de Python. Entonces, comencemos con la definición de la función de rodadura.

¿Qué es pandas rodando??

Los Pandas proporcionan varias funciones útiles y Rolling () es una de esas funciones excepcionalmente buenas que son capaces de realizar cálculos complejos en los datos. La función Rolling () proporciona un cálculo de la ventana de rodadura en los datos de entrada en la serie de objetos dados. El concepto de ventana rodante se usa principalmente en datos de series de tiempo o procesamiento de señales.

En otras palabras, digamos que tomamos un tamaño de ventana de 'w' a la vez 't' y aplicamos algunas operaciones matemáticas. El tamaño 'W' de la ventana significa los valores consecutivos 'W' a la vez 't' donde todos los valores 'W' están ponderados.

¿Qué es una ventana rodante??

El concepto básico de una ventana rodante es calcular los datos desde la fecha proporcionada a la ventana de rodadura. Por ejemplo, supongamos que un empleado está en una ventana rodante de 6 meses, significa que obtiene su salario el 1 de enero de cada año y otro salario el 1 de julio de cada año. Simple, la ventana de rodadura es relativa a la primera fecha y avanza automáticamente con la hora de la ventana de rodadura especificada, en nuestro ejemplo, es una ventana rodante de 6 meses.

¿Cómo funciona la función Pandas Rolling () con DataFrame??

La función Rolling () en Python Pandas proporciona los elementos del recuento de ventanas rodantes. La idea de la ventana rodante en Python es la misma que la idea general de una ventana rodante. En palabras simples, el usuario proporciona un tamaño de ventana ponderado 'W' a la vez y realiza algunas operaciones matemáticas en él.

¿Cuál es la sintaxis de la función Pandas Rolling Groupby??

A continuación, puede encontrar la sintaxis de la función Pandas Rolling Groupby.

Como puede ver, la función Rolling () toma 8 parámetros; Windowsize, minperiod, frecuencia, centro, wintype, encendido, eje y cerrado.

El parámetro 'Windowsize' define el tamaño de la ventana móvil que es en palabras simples el número de veces que se debe realizar un cálculo y, por defecto, su valor es 1. El parámetro 'minperíodo' define el número mínimo de observaciones requeridas en una ventana definida. El parámetro de 'frecuencia' define la frecuencia de los datos antes de realizar cualquier cálculo estadístico. El parámetro 'Center' define la etiqueta en el centro de la ventana.

El parámetro 'Wintype' define el tipo de ventana. El parámetro 'on' define la columna en lugar del índice del marco de datos en el que se debe realizar el cálculo de la ventana rodante. El parámetro 'cerrado' define qué intervalo debe cerrarse, o está cerrado en 'ni', 'izquierda', 'derecho' o 'ambos' puntos finales.

Y finalmente, el parámetro 'eje' proporciona el valor del eje en entero o formato de cadena, y de manera predeterminada es 0. Ahora, pasemos a los ejemplos para aprender a incluir la función Rolling () en nuestro código Python y cómo la función Rolling () de Pandas en Python funciona con DataFrame.

Ejemplo 1

Ahora, comencemos con la creación de un marco de datos simple que necesitamos usar en la función Rolling (). Se definen 5 valores en el marco de datos que son 10, 18, 50, 70 y NP.yaya. Después de eso, simplemente llamaremos a la función Rolling () y proporcionaremos el tamaño de la ventana 3. Aquí está el Código de la función Pandas Rolling Groupby:

importar pandas como PD
importar numpy como np
DF = PD.DataFrame ('Z': [10, 18, 50, 70, NP.yaya])
Imprimir (DF.Rolling (3).suma())

A continuación se muestra la salida del código anterior. Tenga en cuenta que los primeros 2 valores son nan, mientras que el tercer valor es 78, que es la suma de los 3 valores anteriores 10, 18 y 50. Como hemos proporcionado el tamaño de la ventana 3, la función de rodadura realizó la calculadora después de tres Windows. El cuarto valor 138 es la suma de tres valores anteriores que son 18, 50 y 70. Tenga en cuenta que el último valor es nuevamente nan, no es porque el tamaño de la ventana esté caducado o algo más, es porque el quinto valor de entrada es nan. Entonces, cualquier cosa agregada a Nan será nan.

Ejemplo 2

Hemos visto un ejemplo simple de la función Rolling (), ahora creamos un tipo de marco de marca de tiempo para comprender cómo funciona la función Rolling () en el tipo de datos de fecha/hora. Aquí usaremos el mismo DataFrame que hemos creado en el ejemplo anterior, pero ahora agregaremos la columna de índice especificando el valor de la marca de tiempo para cada columna. Consulte la columna de índice adicional en el siguiente código:

importar pandas como PD
importar numpy como np
df_time = PD.DataFrame ('B': [10, 18, 50, 70, NP.yaya],
índice = [PD.Marca de tiempo ('20220101 10:00:00'),
pd.Marca de tiempo ('20220101 10:00:01'),
pd.Marca de tiempo ('20220101 10:00:02'),
pd.Marca de tiempo ('20220101 10:00:03'),
pd.Marca de tiempo ('20220101 10:00:04')])
df_time
Imprimir (DF_Time.Rolling ('5s').suma())

Después de ejecutar la función Rolling () de los datos de la marca de tiempo, obtendremos la siguiente salida:

Ejemplo 3

En este ejemplo, lo ayudaremos a aprender cómo puede especificar el minperíodo para la función rodante (). Como se discutió anteriormente, el parámetro minperíodo de la función rodante () define el número mínimo de observaciones requeridas para realizar la operación matemática. Aquí, nuevamente estamos calculando la suma con la ventana de rodadura tamaño 3 y el minperíodo 1. Vea el código a continuación:

importar pandas como PD
importar numpy como np
DF = PD.DataFrame ('Z': [10, 18, 50, 70, NP.yaya])
Imprimir (DF.Rolling (2, min_periods = 1).suma())

Aquí está el resultado del código dado anteriormente.

Conclusión

En este artículo, hemos demostrado el uso de la función Rolling () en Python. Con la ayuda de ejemplos simples, hemos observado cómo funciona la función Rolling () con Dataframes. Todos los códigos anteriores se pueden implementar en cualquier compilador de Python.