Data Analysis with Pandas

Dominando Pandas: Somando Colunas de DataFrame Eficientemente

Spread the love

Pandas é uma poderosa biblioteca Python para manipulação e análise de dados, e calcular somas de valores de coluna é uma tarefa frequentemente utilizada. Este artigo explora vários métodos para somar dados eficientemente em DataFrames Pandas, cobrindo somatório básico, somas cumulativas com agrupamento e somatório condicional.

Sumário:

  1. Somatório Básico de Colunas de DataFrame Pandas
  2. Soma Cumulativa com groupby()
  3. Somatório Condicional com Base em Outros Valores de Coluna

1. Somatório Básico de Colunas de DataFrame Pandas

A maneira mais simples de somar uma coluna de DataFrame Pandas é usando o método .sum(). Isso calcula diretamente a soma de todos os valores na coluna especificada. Valores não numéricos são ignorados.


import pandas as pd

data = {'A': [1, 2, 3, 4, 5],
        'B': [6, 7, 8, 9, 10],
        'C': [11, 12, 13, 14, 15]}
df = pd.DataFrame(data)

# Soma da coluna 'A'
sum_A = df['A'].sum()
print(f"Soma da coluna A: {sum_A}")  # Saída: Soma da coluna A: 15

# Soma da coluna 'B'
sum_B = df['B'].sum()
print(f"Soma da coluna B: {sum_B}")  # Saída: Soma da coluna B: 40

# Soma de todas as colunas numéricas
sum_all = df.sum()
print(f"Soma de todas as colunas numéricas:n{sum_all}")

2. Soma Cumulativa com groupby()

Calcular somas cumulativas dentro de grupos requer o método groupby() combinado com .cumsum(). Isso permite uma agregação eficiente em diferentes categorias.


import pandas as pd

data = {'Grupo': ['X', 'X', 'Y', 'Y', 'Y'],
        'Valor': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)

# Agrupa por 'Grupo' e calcula a soma cumulativa de 'Valor'
cumulative_sum = df.groupby('Grupo')['Valor'].cumsum()
df['Soma Cumulativa'] = cumulative_sum
print(df)

Isso gerará um DataFrame com uma coluna ‘Soma Cumulativa’ mostrando a soma cumulativa para cada grupo.

3. Somatório Condicional com Base em Outros Valores de Coluna

O somatório condicional permite somar valores com base em condições aplicadas a outras colunas. Indexação booleana e o método .sum() alcançam isso.


import pandas as pd

data = {'Categoria': ['A', 'B', 'A', 'B', 'A'],
        'Vendas': [100, 150, 200, 250, 300]}
df = pd.DataFrame(data)

# Soma de 'Vendas' onde 'Categoria' é 'A'
sum_A = df[df['Categoria'] == 'A']['Vendas'].sum()
print(f"Soma de Vendas para Categoria A: {sum_A}")  # Saída: Soma de Vendas para Categoria A: 600

# Soma de 'Vendas' onde 'Vendas' é maior que 200
sum_greater_200 = df[df['Vendas'] > 200]['Vendas'].sum()
print(f"Soma de Vendas maior que 200: {sum_greater_200}") # Saída: Soma de Vendas maior que 200: 550

Isso demonstra a filtragem do DataFrame antes da soma para agregações condicionais poderosas. Lembre-se de adaptar essas técnicas aos seus dados e requisitos específicos. Pandas fornece muitas ferramentas para análise de dados eficiente.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *