1
resposta

[Dúvida] Criação de colunas adicionais em um dataframe

A criação de colunas adicionais contendo dados concatenados de outras colunas ou calculados de outras colunas é uma boa prática? Embora economize processamento eu acho que pode levar a inconsistências na base por conta de dados desatualizados.

1 resposta

Olá Fabio.
Excelente pergunta.
Sim, pode levar a inconsistências.
Criar colunas adicionais que dependem de outras aumenta o risco de dados desatualizados se as colunas originais forem alteradas, mesmo que economize processamento.
É importante garantir que qualquer coluna derivada seja atualizada automaticamente ou recalculada quando necessário.
Para evitar inconsistências ao criar colunas derivadas no Pandas, você pode usar algumas estratégias:
Em vez de armazenar o valor derivado, calcule-o sempre que necessário:

import pandas as pd

df = pd.DataFrame({
    'preco': [100, 200, 150],
    'quantidade': [2, 1, 3]
})

# Calcula total sem criar coluna permanente
total = df['preco'] * df['quantidade']
print(total)

Sempre que atualizar as colunas base, recalcular a coluna derivada:

df['total'] = df['preco'] * df['quantidade']

# Se alterar preço
df.loc[0, 'preco'] = 120
df['total'] = df['preco'] * df['quantidade']  # recalcula

Criar funções para retornar valores derivados evita inconsistência:

def calcular_total(df):
    return df['preco'] * df['quantidade']

total = calcular_total(df)

Se o custo de cálculo for baixo, é mais seguro não criar colunas extras, apenas calcular quando necessário.
Confere ai e qualquer duvida pode perguntar.
Bons estudos.