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

441
Visualizações
pandas convierten columnas a porcentajes de los totales

Tengo un marco de datos con 4 columnas, una identificación y tres categorías en las que cayeron los resultados

 <80% 80-90 >90 id 1 2 4 4 2 3 6 1 3 7 0 3

Me gustaría convertirlo a porcentajes, es decir:

 <80% 80-90 >90 id 1 20% 40% 40% 2 30% 60% 10% 3 70% 0% 30%

esto parece que debería estar dentro de las capacidades de los pandas, pero simplemente no puedo entenderlo.

¡Gracias por adelantado!

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Puede hacer esto usando los operadores básicos de pandas .div y .sum , usando el argumento del axis para asegurarse de que los cálculos se realicen de la manera que desea:

 cols = ['<80%', '80-90', '>90'] df[cols] = df[cols].div(df[cols].sum(axis=1), axis=0).multiply(100)
  • Calcule la suma de cada columna ( df[cols].sum(axis=1 ). axis=1 hace que la suma se produzca en las filas, en lugar de en las columnas.
  • Divida el marco de datos por la serie resultante ( df[cols].div(df[cols].sum(axis=1), axis=0 ). axis=0 hace que la división se realice en las columnas.
  • Para terminar, multiplica los resultados por 100 para que sean porcentajes entre 0 y 100 en lugar de proporciones entre 0 y 1 (o puedes saltarte este paso y almacenarlos como proporciones).
over 4 years ago · Santiago Trujillo Relatório

0

df/df.sum()

Si desea dividir la suma de filas, transpóngala primero.

over 4 years ago · Santiago Trujillo Relatório

0

La respuesta de Tim Tian funcionó bastante bien para mí, pero tal vez esto ayude si tienes un df con varias columnas y quieres hacer una columna de %.

 df_pct = df/df[df.columns].sum()*100

Estaba teniendo problemas porque quería tener el resultado de pd.pivot_table expresado como%, pero no pude hacerlo funcionar. Así que usé ese código en la tabla resultante y funcionó.

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