Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

323
Vistas
¿Agregar una columna de 'recuento' al resultado de un groupby en pandas?

Creo que esta es una pregunta bastante básica, pero parece que no puedo encontrar la solución.

Tengo un marco de datos de pandas similar al siguiente:

 import pandas as pd df = pd.DataFrame({'A' : ['x','x','y','z','z'], 'B' : ['p','p','q','r','r']}) df

que crea una tabla como esta:

 AB 0 xp 1 xp 2 yq 3 zr 4 zr

Estoy tratando de crear una tabla que represente la cantidad de valores distintos en ese marco de datos. Así que mi objetivo es algo como esto:

 AB c 0 xp 2 1 yq 1 2 zr 2

Sin embargo, no puedo encontrar las funciones correctas para lograr esto. He intentado:

 df.groupby(['A','B']).agg('count')

Esto produce una tabla con 3 filas (como se esperaba) pero sin una columna de 'recuento'. No sé cómo agregar en esa columna de conteo. ¿Podría alguien señalarme en la dirección correcta?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Puedes usar size

 df.groupby(['A','B']).size() Out[590]: AB xp 2 yq 1 zr 2 dtype: int64

Para su solución agregando una de las columnas.

 df.groupby(['A','B']).B.agg('count') Out[591]: AB xp 2 yq 1 zr 2 Name: B, dtype: int64

Actualizar :

 df.groupby(['A','B']).B.agg('count').to_frame('c').reset_index() #df.groupby(['A','B']).size().to_frame('c').reset_index() Out[593]: AB c 0 xp 2 1 yq 1 2 zr 2
over 4 years ago · Santiago Trujillo Denunciar

0

pandas >= 1.1: DataFrame.value_counts

Este es un reemplazo idéntico para df.groupby(['A', 'B']).size() .

 df.value_counts(['A', 'B']) AB zr 2 xp 2 yq 1 dtype: int64
 df.value_counts(['A', 'B']).reset_index(name='c') AB c 0 zr 2 1 xp 2 2 yq 1
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda