Cómo contar las observaciones por grupo en pandas

Actualizado por ultima vez el 7 de mayo de 2021, por .

A menudo, puede estar interesado en contar el número de observaciones por grupo en un DataFrame de pandas.

Afortunadamente, esto es fácil de hacer usando las funciones groupby () y size () con la siguiente sintaxis:

df. groupby (' nombre_columna '). tamaño ()

Este tutorial explica varios ejemplos de cómo utilizar esta función en la práctica utilizando el siguiente marco de datos:

importar numpy como np 
importar pandas como pd

#create pandas DataFrame 
df = pd. DataFrame ({'equipo': ['A', 'A', 'B', 'B', 'B', 'C', 'C'],
                   'división': ['E', 'W', 'E', 'E', 'W', 'W', 'E'],
                   'rebotes': [11, 8, 7, 6, 6, 5, 12]})

#display Impresión de DataFrame
 (df)

  rebotes de división de equipo
0 AE 11
1 AW 8
2 BE 7
3 BE 6
4 BW 6
5 CW 5
6 CE 12

Ejemplo 1: contar por una variable

El siguiente código muestra cómo contar el número total de observaciones por equipo:

#contar observaciones totales por variable 'equipo' 
df. groupby (' equipo '). tamaño ()

equipo
A 2
B 3
C 2
dtype: int64

De la salida podemos ver que:

  • El equipo A tiene 2 observaciones
  • El equipo B tiene 3 observaciones
  • El equipo C tiene 2 observaciones

Tenga en cuenta que el código anterior produce una serie. En la mayoría de los casos, queremos trabajar con un DataFrame, por lo que podemos usar la función reset_index () para producir un DataFrame en su lugar:

df. groupby (' equipo '). tamaño (). reset_index (nombre = ' obs ')

        equipo obs
0 A 2
1 B 3
2 C 2

Ejemplo 2: contar y ordenar por una variable

También podemos usar la función sort_values ​​() para ordenar los recuentos de grupos.

Podemos especificar ascendente = Falso para ordenar los recuentos de grupos de mayor a menor o ascendente = Verdadero para ordenar de menor a mayor:

df. groupby (' equipo '). tamaño (). reset_index (nombre = ' obs '). sort_values ([' obs '], ascendente = Verdadero )

        equipo obs
0 A 2
2 C 2
1 B 3

Ejemplo 3: contar por múltiples variables

También podemos contar la cantidad de observaciones agrupadas por múltiples variables en un DataFrame de pandas:

#contar observaciones agrupadas por equipo y división 
df. groupby ([' equipo ', ' división ']). tamaño (). reset_index (nombre = ' obs ')

        obs de la división del equipo
0 A E 1
1 A W 1
2 B E 2
3 B W 1
4 C E 1
5 C W 1

De la salida podemos ver que:

  • 1 observación pertenece al equipo A y división E
  • 1 observación pertenece al equipo A y división W
  • 2 observaciones pertenecen al equipo B y división E
  • 1 observación pertenece al equipo B y división W
  • 1 observación pertenece al equipo C y división E
  • 1 observación pertenece al equipo C y división W

Recursos adicionales

Cómo calcular la suma de columnas en pandas
Cómo calcular la media de columnas en pandas
Cómo encontrar el valor máximo de columnas en pandas

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Una distribución uniforme es una distribución de probabilidad en la que es igualmente probable que se elija cada valor entre…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!