Veamos como calcular el porcentaje de una columna en Pandas, para lo cual usaremos sus propia función sum()
Como sabemos Pandas trabaja con dataframes o marcos de datos y también queda claro, que el porcentaje se obtiene dividiendo el valor total entre la suma de todos los valores y luego multiplicando ese resultado por 100.
Lo que hacemos, no es otra cosa que aplicar este mismo procedimiento a la columna que deseamos analizar.
Primero sumaremos toda la columna con sum()
, que es el método que se emplea para sumar en Pandas.
La sintaxis seria esta:
df [porcentaje] =(df ['resultado'] / df ['column_a_sumar'].sum()) * 100
Viéndolo en un ejemplo practico seria esto:
import pandas as pd
import numpy as np
#tenemos una matriz accesorios con dos columnas (periodos y cantidad)
accesorios = {
'periodos': ['periodo_1', 'periodo_2', 'periodo_3',
'periodo_4', 'periodo_5', 'periodo_6',
'periodo_7'],
'cantidad': [100, 40, 47, 78, 89, 78, 64]}
# instanciamos accesorios como un dataframe de pandas,
# y definimos sus columnas
accesorios = pd.DataFrame(accesorios,
columns = ['periodos',
'cantidad'])
# calculamos la columna porcentaje, la cual se añade automaticmente # al dataframe accesorios. Dividimos la cantidad entre la suma de
# la columna y la multiplicamos por 100
accesorios['porcentaje'] = (accesorios['cantidad'] /
accesorios['cantidad'].sum()) * 100
accesorios
Como ven hemos calculado el porcentaje de la columna para saber que magnitud del total representa cada período.
La salida es:
Out[1]:
periodos cantidad porcentaje
0 periodo_1 100 20.161290
1 periodo_2 40 8.064516
2 periodo_3 47 9.475806
3 periodo_4 78 15.725806
4 periodo_5 89 17.943548
5 periodo_6 78 15.725806
6 periodo_7 64 12.903226
Y esto es todo, espero ayudar a alguien con este post.
No discutas nunca con un imbécil, te llevará a su terreno y allí te ganará por experiencia
D.