¿Cómo calcular el Porcentaje de una columna en Pandas?

Un Porcentaje se calcula mediante la fórmula matemática de dividir el valor por la suma de todos los valores y luego multiplicar la suma por 100. Esto también es aplicable en Pandas Dataframes. Aquí, el método sum() predefinido de la serie pandas se usa para calcular la suma de todos los valores de una columna.

Sintaxis: Serie.sum()

Retorno: Devuelve la suma de los valores.

Fórmula: 

df[percent] = (df['column_name'] / df['column_name'].sum()) * 100

Ejemplo 1: 

Python3

# Import required libraries
import pandas as pd
import numpy as np
   
# Dictionary
df1 = {
     'Name': ['abc', 'bcd', 'cde',
             'def', 'efg', 'fgh',
             'ghi'],
     'Math_score': [52, 87, 49,
                   74, 28, 59,
                   48]}
   
# Create a DataFrame
df1 = pd.DataFrame(df1, 
                   columns = ['Name',
                             'Math_score'])
  
# Calculating Percentage
df1['percent'] = (df1['Math_score'] / 
                  df1['Math_score'].sum()) * 100
  
# Show the dataframe
df1

Producción: 
 

Dataframe with percentage

Ejemplo 2: 

Python3

# Import pandas library
import pandas as pd
   
# Dictionary
df1 = {
     'Name': ['abc', 'bcd', 'cde',
             'def', 'efg', 'fgh',
             'ghi'],
      'Math_score': [52, 87, 49,
                    74, 28, 59,
                    48],
       'Eng_score': [34, 67, 25, 
                    89, 92, 45,
                    86]
}
   
# Create a DataFrame
df1 = pd.DataFrame(df1, 
                   columns = ['Name',
                   'Math_score','Eng_score'])
  
# Calculate Percentage
df1['Eng_percent'] = (df1['Eng_score'] / 
                      df1['Eng_score'].sum()) * 100
# Show the dataframe
df1

Producción: 
 

Dataframe with percentage-2

Publicación traducida automáticamente

Artículo escrito por nidhi_biet 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 *