Porcentaje acumulativo pandas

Porcentaje acumulativo pandas
La fórmula matemática estándar para calcular el porcentaje acumulativo es calcular la suma acumulada para cada valor en la columna y dividir la suma acumulada de cada celda en una columna por la suma matemática de todos los valores en la columna y luego multiplicarlo con 100. La pregunta ahora es cómo lograr esto en Python usando pandas.

Este artículo está diseñado para hacerle aprender cómo encontrar porcentajes acumulativos en Python usando pandas. Comencemos con la fórmula básica o la sintaxis del porcentaje acumulativo y luego avanzan más.

¿Cuál es la sintaxis del porcentaje acumulativo??

A continuación se muestra la sintaxis del porcentaje acumulativo que puede seguir.

Porcentaje acumulativo pandas

Los marcos de datos de Pandas en Python proporcionan dos funciones predefinidas, suma () y cumsum (), para calcular el porcentaje acumulativo con Python. La función suma () se usa para calcular la suma de todos los valores en la columna, y la función Cumsum () se usa para calcular la suma acumulativa de cada valor en la columna.

¿Cómo funciona la función Cumsum () para calcular la suma acumulativa en Python??

Cumsum () es un marco de datos de panda de pitón utilizado para calcular la suma acumulada de los elementos de matriz. Toma una matriz como entrada y calcula una secuencia de sumas parciales o, en otras palabras, un total de funcionamiento. El objetivo principal de calcular una suma acumulativa es actualizar la suma de un conjunto de datos cada vez que se agrega un nuevo valor al conjunto de datos.

Hay cinco pasos que debe seguir para calcular la suma acumulativa con pandas en Python, y aquí están:

  1. Cree un marco de datos o proporcione una variedad de datos que desee calcular el porcentaje acumulativo.
  2. Calcule la suma acumulativa con la función Cumsum () incorporada ().
  3. Calcule la suma de la matriz con la función de suma incorporada ().
  4. Divide el valor de cumSum () calculado por el valor de suma calculada ().
  5. Multiplique cada valor calculado por 100, y el valor resultante será el porcentaje acumulado de un valor particular en la matriz.

Ahora veamos algunos ejemplos para comprender cómo funcionan Cumsum () y Sum () para calcular el porcentaje acumulativo de la columna con un marco de datos de Pandas en Python.

Ejemplo 1:
En el primer ejemplo, comenzaremos a calcular la suma acumulativa de una sola columna para que pueda comprender la función fácilmente. Primero, cree un marco de datos como 'data_frame' y proporcione los valores que necesita para calcular la suma acumulativa, luego pase el parámetro 'data_frame' a PD.DataFrame () mientras especifica los valores de la columna, y finalmente, use las funciones incorporadas Cumsum () y Sum () para calcular el porcentaje acumulativo.

importar pandas como PD
importar numpy como np
data_frame =
'Nombres': ['ab', 'bc', 'cd', 'de', 'ef', 'fg', 'gh'],
'MathScore': [152,187,149,174,128,159,148]
data_frame = PD.DataFrame (data_frame, columns = ['nombres', 'mathscore'])
data_frame ['Cum_per'] = 100*(data_frame.Ascenso.cumsum () / data_frame.Ascenso.suma())
marco de datos

Aquí está la salida del código anterior:

Ejemplo 2:
En este ejemplo, le mostraremos la suma acumulativa en cada paso. El código es exactamente el mismo que el ejemplo anterior, con algunas modificaciones menores para imprimir la suma acumulativa en cada paso. Consulte el código de muestra que se proporciona a continuación:

importar pandas como PD
importar numpy como np
data_frame =
'Nombres': ['ab', 'bc', 'cd', 'de', 'ef', 'fg', 'gh'],
'MathScore': [152,187,149,174,128,159,148]
data_frame = PD.DataFrame (data_frame, columns = ['nombres', 'mathscore'])
data_frame ['suma acumulativa'] = data_frame.Ascenso.cumsum ()
_sum = data_frame.Ascenso.suma()
data_frame ['Cumulative%'] = 100*(Cum_sum / _sum)
marco de datos

Aquí está la salida. Tenga en cuenta que la suma acumulativa se muestra en la columna de 'suma acumulada' de cada valor. Y el total de todos los valores es 1097. Ver la última línea de la salida.

Ejemplo 3:
Hemos visto cómo calcular el porcentaje acumulativo de una columna al mismo tiempo. Ahora veamos cómo calcular la suma de dos columnas simultáneamente. El procedimiento sigue los mismos pasos que los ejemplos anteriores.

Primero, debe crear un marco de datos y luego proporcionar las columnas en las que necesita calcular la suma acumulativa. Luego, encuentre la suma y la suma acumulativa con la función incorporada suma () y cumSum (), respectivamente, y multiplique los valores por 100. Ahora imprima los valores en la trama de datos para ver la salida. El código se proporciona a continuación:

importar pandas como PD
importar numpy como np
data_frame =
'Nombres': ['ab', 'bc', 'cd', 'de', 'ef', 'fg', 'gh'],
'MathScore': [152,187,149,174,128,159,148],
'EnglishScore': [134,167,125,189,192,145,186]
data_frame = PD.DataFrame (data_frame, columns = ['nombres', 'MathScore', 'EnglishScore'])
data_frame ['Cum Math Sum'] = data_frame.Ascenso.cumsum ()
data_frame ['Cum Eng Sum'] = data_frame.Escorolla de inglés.cumsum ()
Msum = data_frame.Ascenso.suma()
Esum = data_frame.Escorolla de inglés.suma()
data_frame ['McUmulative%'] = 100*(CUM_SUM / MSUM)
data_frame ['Ecumulative%'] = 100*(data_frame ['Cum Eng Sum'] / Esum)
marco de datos

La salida del código anterior es el siguiente:

Ejemplo 4:
En este ejemplo, explicaremos cómo manejar los valores 'nan' en una matriz? Y cómo cumsum () trata con los valores 'nan' en el marco de datos. Los pasos iniciales son los mismos que los que se dan en los ejemplos; Sin embargo, los pasos adicionales se dan a continuación en el código:

importar pandas como PD
importar numpy como np
data_frame = PD.Marco de datos(
'Nombres': ['ab', 'bc', 'cd', 'de', 'ef', 'fg', 'gh'],
'MathScore': [152,187,149,174,128,159,148],
index = ['1', '2', '3', '4', '5', '6', '7'])
imprimir (data_frame)

La salida mostrará una columna de índice ahora:

Si se da cuenta, hay un 'Índice' de columna adicional agregada al marco de datos. El siguiente paso es encontrar la suma acumulativa que hemos calculado en los ejemplos anteriores.

data_frame ['suma acumulativa'] = data_frame.Ascenso.cumsum ()
imprimir (data_frame)

Aquí está la suma acumulativa antes de proporcionar un valor 'nan':

Después de eso, dejemos caer un valor en la matriz y reemplácelo con el valor 'nan'. Mire el código a continuación para descubrir cómo reemplazar un valor con 'Nan'.

data_frame = data_frame.Drop ('suma acumulativa', eje = 1)
marco de datos.loc ['3', 'MathScore'] = NP.YAYA
imprimir (data_frame)

Como puede ver en la salida a continuación, el valor en el índice 3 se reemplaza con 'nan':

Calculemos nuevamente la suma acumulativa para ver cómo el cumsum () responde al valor 'nan' en la matriz.

data_frame ['suma acumulativa'] = data_frame.Ascenso.cumsum ()
imprimir (data_frame)

Aquí está el resultado de la nueva suma acumulativa.

Si nota que Cumsum () ignoró el 'nan' y calculó la suma acumulativa de todos los demás valores. Además, el valor total también es diferente ya que el valor único en la matriz es 'nan', y no contribuye al valor total.

Conclusión:

Este artículo está diseñado para aprender cómo encontrar el porcentaje acumulativo con el marco de datos de Pandas en Python. Primero, hemos discutido la fórmula matemática básica del porcentaje acumulativo, y luego hemos visto las dos funciones de Python incorporadas, Cumsum () y Sum (), para encontrar el porcentaje acumulativo con Pandas en Python. La suma acumulativa es el total de una secuencia de sumas parciales. Con la ayuda de ejemplos, hemos demostrado cómo usar la función de pitón Cumsum () y suma () incorporada para calcular la suma acumulativa de una columna.