¿Cómo contar las observaciones por grupo en Pandas?

En los proyectos reales de ciencia de datos, se tratará con grandes cantidades de datos y se intentarán cosas una y otra vez, por lo que, para mayor eficiencia, utilizamos el concepto Groupby . El concepto Groupby es realmente importante porque su capacidad para agregar datos de manera eficiente, tanto en el rendimiento como en la cantidad de código, es magnífica. Groupby se refiere principalmente a un proceso que involucra uno o más de los siguientes pasos:

  • División: es un proceso en el que dividimos los datos en grupos aplicando algunas condiciones en los conjuntos de datos.
  • Aplicar: Es un proceso en el que aplicamos una función a cada grupo de forma independiente.
  • Combinación: es un proceso en el que combinamos diferentes conjuntos de datos después de aplicar groupby y resultados en una estructura de datos.

Sintaxis: groupby(by=Ninguno, axis=0, level=Ninguno, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)

Parámetros:

  • por: mapeo, función, str, o iterable
  • eje: int, por defecto 0
  • level : si el eje es un MultiIndex (jerárquico), agrupar por un nivel o niveles en particular
  • as_index : para la salida agregada, devuelva el objeto con etiquetas de grupo como índice. Solo relevante para la entrada de DataFrame. as_index=False es efectivamente una salida agrupada de «estilo SQL»
  • sort : Ordenar claves de grupo. Obtenga un mejor rendimiento desactivando esto. Tenga en cuenta que esto no influye en el orden de las observaciones dentro de cada grupo. groupby conserva el orden de las filas dentro de cada grupo.
  • group_keys: al llamar a apply, agregue claves de grupo al índice para identificar piezas
  • squeeze : reduce la dimensionalidad del tipo de retorno si es posible, de lo contrario, devuelve un tipo consistente

Devuelve: objeto GroupBy 

Aquí, usamos un marco de datos ficticio simple que se muestra a continuación:

Además, usamos algunos métodos para contar las observaciones del grupo en Pandas que se explican a continuación con ejemplos.

Ejemplo 1: Usar group.count (Contar por una variable)

En este ejemplo, usaremos el método group.count() que cuenta el número total de miembros en cada grupo.

Python3

# import libraries
import pandas as pd
  
#create pandas DataFrame
df = pd.DataFrame({'Name': ['Arun', 'Arun', 'Bhuvi', 'Bhuvi',
                            'Bhuvi', 'Chandan', 'Chandan'],
                     
                   'Department':['CSE', 'IT', 'CSE', 'CSE',
                                 'IT', 'IT', 'CSE'],
                     
                   'Funds': [1100, 800, 700, 600, 600, 500, 1200]})
  
# create a group using groupby
group = df.groupby("Department")
  
# count the observations
group.count()

Producción: 

Ejemplo 2: Usar group.size (Recuento por múltiples variables)

En este ejemplo, usaremos las entradas/filas del método group.size()

Python3

# import libraries
import pandas as pd
  
#create pandas DataFrame
df = pd.DataFrame({'Name': ['Arun', 'Arun', 'Bhuvi', 'Bhuvi', 
                            'Bhuvi', 'Chandan', 'Chandan'],
                     
                   'Department':['CSE', 'IT', 'CSE', 'CSE', 
                                 'IT', 'IT', 'CSE'],
                     
                   'Funds': [1100, 800, 700, 600, 600, 500, 1200]})
  
# create a group using groupby
group = df.groupby(['Name', 'Department'])
  
# size of group to count observations
group = group.size()
  
# make a column name 
group.reset_index(name='Observation')

Producción : 

Publicación traducida automáticamente

Artículo escrito por biswasarkadip y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *