Promedio de pandas groupby

Promedio de pandas groupby

Cuando agregamos dos o más valores juntos y su suma se divide por el número total de valores agregados, el resultado es un promedio. Pandas media devuelve el promedio de los datos o el valor a lo largo de un eje determinado. Pandas devuelve una serie con el promedio en un eje si el método medio () se aplica a un marco de datos. Los pandas devuelven un valor numérico (número único) si se usa "media ()" en una serie. Las funciones se pueden aplicar a las categorías después de crear los grupos de categorías. Es una idea simple pero una técnica altamente efectiva que se aplica con frecuencia en la ciencia de datos. Nos permite crear un resumen de los datos para cada grupo, aplicar modificaciones específicas del grupo y realizar la filtración de datos. Con la función GroupBy (), el objeto se puede dividir, se puede aplicar una función y luego se pueden combinar los productos. Grandes conjuntos de datos se pueden agrupar con esto, y las operaciones se pueden realizar en los grupos.

Cómo usar el grupo.método medio () en pandas?

Para calcular el promedio de un marco de datos o el promedio de columnas específicas de un marco de datos, podemos usar el grupo.función media (). Demostraremos cómo usarlo en los siguientes ejemplos.

Ejemplo # 01: Determine el promedio de una sola columna entera agrupando los datos de una sola columna

Usando el PD.Función DataFrame (), primero crearemos un marco de datos para que podamos dividir los datos de la columna o columnas de DataFrame en grupos y luego encontraremos su valor medio. Antes de crear el marco de datos, debemos importar el módulo pandas junto con la biblioteca Numpy.

Como se puede ver, hemos creado nuestro marco de datos utilizando el diccionario Pandas. Tenemos 3 columnas en nuestro DF DataFrame, i.mi., 'artículos', 'fabricante' y 'cantidad'. En la columna 'elementos', hemos almacenado los valores ('camisa', 'corbata', 'pantalones', 'camisa', 'corbata', 'pantalones', 'camisa', 'pantalones', 'pantalones', ' Tie '), mientras que las columnas' fabricante 'y' cantidad 'que contienen los valores (' Italia ',' Francia ',' China ',' Francia ',' China ',' Italia ',' China ',' Italia ', 'Francia', 'China') y (13, 16, 21, 32, 26, 41, 24, 42, 12, 15) respectivamente. Agrupe los valores en la columna del fabricante y determinemos el valor de la cantidad media para cada fabricante distinto.

El valor del fabricante 'China' tiene un valor de cantidad media de 21.5, el valor de cantidad media para 'Francia' es de 20.0, y el valor de cantidad media para 'Italia' es 32.0. También podemos especificar un índice de la salida utilizando la función RESET_INDEX con GroupBy.función media ().

Ejemplo # 02: Encuentre la media de una sola columna flotante agrupando los datos de una sola columna

Hemos visto cómo podemos encontrar la media de la columna entera después de agrupar los datos. Ahora intentemos otra columna de tipo de datos como Float. Se creará un marco de datos con al menos una columna con valores de flotación utilizando el PD.Función DataFrame ().

Poniendo un diccionario dentro del PD.DataFrame (), hemos creado un cuadro de datos con tres columnas. La columna 'Nombre' está almacenando los nombres de algunos jugadores al azar ('Sam', 'Jay', 'Leo', 'Mike', 'Will', 'Billy', 'Jhonny', 'Lara', 'Hanna', 'Tony'), la columna 'equipo' que representa al equipo del que cada jugador pertenece a ('a', 'a', 'b', 'a', 'b', 'a', 'c', 'b ',' C ',' c '), y la columna' altura 'almacena las alturas de cada jugador como un valor flotante (5.sesenta y cinco.4, 6.3, 5.2, 5.5, 6.4, 5.sesenta y cinco.8, 6.0, 5.2). Agrupe los datos en la columna 'Equipo' y determinemos el valor de altura media para cada valor distinto de 'Equipo'.

Puedes ver que el valor de altura promedio del equipo de un jugador es 5.65, mientras que las alturas promedio de los jugadores en los equipos B y C son 5.866 y 5.6, respectivamente.

Ejemplo # 03: Determine la media de múltiples columnas usando el grupo.función media ()

En los ejemplos anteriores, determinamos el promedio de una sola columna. Sin embargo, la media de numerosas columnas para cada grupo también se puede determinar. Creemos un marco de datos que tenga más de una columna numérica, después de importar los módulos pandas y numpy.

En el DataFrame recientemente creado, hay tres columnas con el "nombre", 'puntaje' y 'coincidencias' de las etiquetas. Los nombres de la columna que tienen los valores de datos como una cadena ('ron', 'jim', 'dany', 'jim', 'jim', 'dany', 'ron', 'ron', 'dany', 'jim' ), mientras que la 'puntuación' y 'coincidencias' consisten en datos numéricos como (3, 4, 2, 4, 1, 5, 2, 3, 1, 2) y (2, 3, 1, 2, 1, 3 , 4, 1, 2, 1). Ahora encontremos la media de la columna 'puntaje' y 'coincide' después de agrupar los datos del 'nombre' de la columna '. El grupo.la función media () se utilizará para esto.

Se puede notar que el grupo 'Dany' tiene una puntuación promedio de 2.66 en 2.00 Partidos. El grupo Jim tiene una puntuación promedio de 2.75 y el valor promedio de los partidos jugados es 1.75. Mientras que el grupo 'Ron' tiene un valor de puntaje promedio de 2.66 y el valor medio de los partidos jugados es 2.33.

El promedio de un grupo de categorías por el objeto también se puede calcular utilizando el método Agg (). Suministraremos la media como un argumento a la función Agg (). Para agregarse usando operaciones simples o múltiples en el eje dado, podemos usar la función Agg ().

La salida es la misma que antes.

Ejemplo # 04: determine la media de columnas específicas agrupando las múltiples columnas

En los ejemplos 1, 2 y 3, hemos agrupado los valores o datos de una sola columna. Ahora agruparemos varias columnas utilizando la lista de etiquetas de columnas dentro de la función GroupBy (), y luego encontraremos el valor promedio para cada grupo. Se pasará un diccionario 'd' dentro del PD.DataFrame () función como una entrada para crear DataFrame.

Hemos creado el marco de datos requerido. La columna 'deportes' está almacenando el nombre de algunos deportes ('bádminton', 'fútbol', 'tenis', 'baloncesto', 'fútbol', 'tenis', 'baloncesto', 'fútbol', 'bádminton', ',', ',' baloncesto ',' baloncesto ',' tenis '), los nombres de los países (' China ',' Rusia ',' Italia ',' España ',' Rusia ',' Italia ',' China ',' Italia ',', ',' España ',' China ',' Rusia ',' Italia ') se almacenan en la columna' País '. Mientras que en la columna 'ganar' hemos almacenado el número de partidos ganados por cada país en cada deporte (13, 10, 6, 7, 10, 12, 7, 11, 8, 13, 11, 6). Usemos el grupo.función media () para encontrar la media de los valores de columna 'ganar' agrupando las columnas 'deportes' y 'país'.

La función ha determinado con éxito los promedios de los valores de la columna 'ganar' para cada deporte en el país. El marcado de datos agrupado se puede restablecer utilizando la función reset_index (), que también genera un nuevo índice, dándole una estructura de marco de datos apropiado.

Se agrega un índice para la fila de cada marco de datos. Para organizar los resultados en una tabla atractiva, también podemos usar la función Pivot ().

Conclusión

En este tutorial, hemos discutido cuál es la media o promedio de los números y cómo encontrar la media de una columna específica (una o más) después de agrupar la columna o columnas de un marco de datos. Implementamos algunos ejemplos en este artículo para enseñarle cómo determinar el promedio de un solo entero o columna flotante agrupando los datos de una sola columna; cómo determinar la media de múltiples columnas usando el grupo.función media (); y también cómo determinar la media de columnas específicas agrupando las múltiples columnas.