Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

332
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda