Pandas porcentagem cumulativa

Pandas porcentagem cumulativa
A fórmula matemática padrão para calcular a porcentagem cumulativa está calculando a soma cumulativa para cada valor na coluna e dividindo a soma cumulativa de cada célula em uma coluna pela soma matemática de todos os valores da coluna e depois multiplicando -a com 100. A questão agora é como fazer isso em Python usando pandas.

Este artigo foi projetado para fazer você aprender a encontrar porcentagens cumulativas em Python usando pandas. Vamos começar com a fórmula básica ou sintaxe da porcentagem cumulativa e depois prosseguir.

Qual é a sintaxe da porcentagem cumulativa?

Abaixo está a sintaxe da porcentagem cumulativa que você pode seguir.

Pandas porcentagem cumulativa

Os quadros de dados de pandas em Python fornecem duas funções predefinidas, SUM () e Cumsum (), para calcular a porcentagem cumulativa com o Python. A função SUM () é usada para calcular a soma de todos os valores na coluna, e a função Cumsum () é usada para calcular a soma cumulativa de cada valor na coluna.

Como funciona a função Cumsum () para calcular a soma cumulativa em Python?

O Cumsum () é um quadro de dados do Python embutido Panda usado para calcular a soma cumulativa dos elementos da matriz. É preciso uma matriz como entrada e calcula uma sequência de somas parciais ou, em outras palavras, um total em execução. O principal objetivo de calcular uma soma cumulativa é atualizar a soma de um conjunto de dados cada vez que um novo valor é adicionado ao conjunto de dados.

Existem cinco etapas que você deve seguir para calcular a soma cumulativa com pandas em Python, e aqui estão eles:

  1. Crie um quadro de dados ou forneça uma variedade de dados que você deseja calcular a porcentagem cumulativa.
  2. Calcule a soma cumulativa com a função Cumsum () integrada.
  3. Calcule a soma da matriz com a função interna ().
  4. Divida o valor calculado de Cumsum () pelo valor calculado ().
  5. Multiplique cada valor calculado por 100, e o valor resultante será a porcentagem acumulada de um valor específico na matriz.

Agora vamos ver alguns exemplos para entender como Cumsum () e Sum () trabalham para calcular a porcentagem cumulativa da coluna com um quadro de dados de pandas no Python.

Exemplo 1:
No primeiro exemplo, começaremos a calcular a soma cumulativa de apenas uma coluna para que você possa entender a função facilmente. Primeiro, crie um quadro de dados como 'data_frame' e forneça os valores necessários para calcular a soma cumulativa e depois passe o parâmetro 'data_frame' para PD.Dataframe () enquanto especifica os valores da coluna e, finalmente, use as funções internas Cumsum () e Sum () para calcular a porcentagem cumulativa.

importar pandas como PD
importar numpy como np
data_frame =
'Nomes': ['ab', 'bc', 'cd', 'de', 'ef', 'fg', 'gh'],
'Mathscore': [152.187.149.174.128.159.148]
data_frame = pd.DataFrame (Data_frame, Columns = ['Nomes', 'Mathscore']))
data_frame ['cum_per'] = 100*(data_frame.Mathscore.Cumsum () / Data_frame.Mathscore.soma())
quadro de dados

Aqui está a saída do código acima:

Exemplo 2:
Neste exemplo, mostraremos a soma cumulativa em cada etapa. O código é exatamente o mesmo que o exemplo acima, com algumas pequenas modificações para imprimir a soma cumulativa em cada etapa. Veja o código de amostra fornecido abaixo:

importar pandas como PD
importar numpy como np
data_frame =
'Nomes': ['ab', 'bc', 'cd', 'de', 'ef', 'fg', 'gh'],
'Mathscore': [152.187.149.174.128.159.148]
data_frame = pd.DataFrame (Data_frame, Columns = ['Nomes', 'Mathscore']))
data_frame ['soma cumulativa'] = data_frame.Mathscore.Cumsum ()
_sum = data_frame.Mathscore.soma()
data_frame ['cumulativo%'] = 100*(cum_sum / _sum)
quadro de dados

Aqui está a saída. Observe que a soma cumulativa é mostrada na coluna 'soma cumulativa' de cada valor. E o total de todos os valores é 1097. Veja a última linha da saída.

Exemplo 3:
Vimos como calcular a porcentagem cumulativa de uma coluna de uma só vez. Agora vamos ver como calcular a soma de duas colunas simultaneamente. O procedimento segue as mesmas etapas que os exemplos acima.

Primeiro, você precisa criar um quadro de dados e depois fornecer as colunas nas quais você precisa calcular a soma cumulativa. Em seguida, encontre a soma e a soma cumulativa com Sum () e Cumsum () função interna, respectivamente, e multiplique os valores por 100. Agora imprima os valores no quadro de dados para ver a saída. O código é fornecido abaixo:

importar pandas como PD
importar numpy como np
data_frame =
'Nomes': ['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, colunas = ['nomes', 'Mathscore', 'EnglishScore']))
data_frame ['cum sum sum'] = data_frame.Mathscore.Cumsum ()
data_frame ['cum engor sum'] = data_frame.Inglês.Cumsum ()
Msum = data_frame.Mathscore.soma()
Esum = data_frame.Inglês.soma()
data_frame ['mcumulative%'] = 100*(cum_sum / msum)
data_frame ['ecumulative%'] = 100*(data_frame ['cum Eng sum'] / esum)
quadro de dados

A saída do código acima é o seguinte:

Exemplo 4:
Neste exemplo, explicaremos como lidar com os valores 'nan' em uma matriz? E como Cumsum () lida com os valores 'nan' no quadro de dados. Os passos iniciais são os mesmos que os dados nos exemplos; No entanto, as etapas adicionais são fornecidas abaixo no código:

importar pandas como PD
importar numpy como np
data_frame = pd.Quadro de dados(
'Nomes': ['ab', 'bc', 'cd', 'de', 'ef', 'fg', 'gh'],
'Mathscore': [152.187.149.174.128.159.148],
índice = ['1', '2', '3', '4', '5', '6', '7']))
impressão (data_frame)

A saída mostrará uma coluna de índice agora:

Se você perceber, há uma coluna adicional 'índice' adicionada ao quadro de dados. O próximo passo é encontrar a soma cumulativa que calculamos nos exemplos acima.

data_frame ['soma cumulativa'] = data_frame.Mathscore.Cumsum ()
impressão (data_frame)

Aqui está a soma cumulativa antes de fornecer um valor 'nan':

Depois disso, vamos soltar um valor na matriz e substituí -lo pelo valor 'nan'. Veja o código abaixo para descobrir como substituir um valor por 'nan'.

data_frame = data_frame.Drop ('soma cumulativa', eixo = 1)
quadro de dados.loc ['3', 'mathscore'] = np.Nan
impressão (data_frame)

Como você pode ver na saída abaixo, o valor no índice 3 é substituído por 'nan':

Vamos calcular a soma cumulativa novamente para ver como Cumsum () responde ao valor 'nan' na matriz.

data_frame ['soma cumulativa'] = data_frame.Mathscore.Cumsum ()
impressão (data_frame)

Aqui está a saída da nova soma cumulativa.

Se você perceber que Cumsum () ignorou a 'nan' e calculou a soma cumulativa de todos os outros valores. Além disso, o valor total também é diferente como o valor único na matriz é 'nan' e não contribui para o valor total.

Conclusão:

Este artigo foi projetado para aprender a encontrar a porcentagem cumulativa com o quadro de dados de pandas no Python. Primeiro, discutimos a fórmula matemática básica de porcentagem cumulativa e, em seguida, vimos as duas funções python embutidas, Cumsum () e Sum (), para encontrar a porcentagem cumulativa com pandas em Python. A soma cumulativa é o total de uma sequência de somas parciais. Com a ajuda de exemplos, mostramos como usar a função Cumsum () e Sum () Python embutida para calcular a soma cumulativa de uma coluna.