Ganhos:
- Capacidade de pegar código SQL e pandas robusto e lê-lo e verificá-lo linha por linha, fornecendo esquema e propósito claros à inteligência artificial
- Capacidade de capturar erros silenciosos, como contagem de linhas, função de ajuste e taxa de transferência após mesclagem/JOIN
- Capacidade de resolver o problema na depuração sem silenciá-lo e evitar executar o código sem testá-lo no ambiente de produção
A ciência de dados tem duas linguagens principais: SQL (Structured Query Language – a linguagem para consultar dados de bancos de dados) e Python (especificamente, a biblioteca pandas – a ferramenta padrão para manipular tabelas programaticamente). Nesta unidade, aprenderemos a usar a IA como parceira de código: obter SQL sólido e código pandas com as perguntas certas, ler e validar esse código, depurá-lo e nunca executá-lo cegamente. A IA escreve código repetitivo em segundos em vez de minutos; Mas é sua função garantir que o código produzido processe a coluna correta com a lógica correta. Código funcional não significa código correto.
Por que produzir código com IA é poderoso, mas arriscado
A IA oferece três grandes benefícios na geração de código: velocidade (grava uma operação groupby-pivot de 30 linhas em segundos), lembrete (lembra uma função do pandas que você esqueceu) e ensino (explica o código linha por linha). Mas traz três riscos: erro lógico silencioso (código que soma a coluna errada é executado sem erros), função ajustada (sugere um método que não existe) e armadilha de rendimento (código que funciona com dados pequenos, mas falha em 10 milhões de linhas). Portanto, a regra de ouro: leia o código da IA como se você mesmo o tivesse escrito. Não siga a linha que você não entende.
SQL: processa dados na origem
SQL permite recuperar dados do banco de dados e processá-los lá; Você pode resumir milhões de linhas sem colocá-las no Python. Blocos de construção básicos: SELECT (quais colunas), WHERE (quais linhas), GROUP BY (agrupar e resumir), JOIN (juntar tabelas), HAVING (filtro pós-grupo). A IA é muito útil para escrever JOINs complexos e funções de janela, mas certifique-se de verificar duas coisas: o JOIN está por meio da chave correta (a chave errada duplica linhas) e a lógica do filtro está correta (especialmente comportamento NULL e intervalos de datas).
Cuidado: não execute uma consulta SQL gerada por IA diretamente no banco de dados de produção. Teste primeiro com uma cópia pequena ou LIMIT. Nunca execute uma consulta UPDATE/DELETE sem validar a condição WHERE; Um WHERE errado pode excluir a tabela inteira.
Python/pandas: análise flexível
pandas é a forma padrão de manipular tabelas (DataFrame) em Python. O uso mais eficiente da IA é fornecer-lhe um esquema e um propósito claros. Operações mais comumente usadas: filter, groupby, merge, pivot_table, apply. A IA escreve isso rapidamente; O que você quer verificar é a lógica: se o agrupamento está na coluna correta, se a mesclagem alterou o número de linhas inesperadamente (verifique sempre o número de linhas após a mesclagem), se as operações em cadeia estão alterando o original.
transação
SQL
pandas
posto de controle
Filtragem
ONDE
df[df.x > 5]
Comportamento NULL/NaN
agrupamento
Agrupar por
df.groupby()
É a coluna certa?
mesclar
PARTICIPE
df.merge()
Alteração na contagem de linhas
Resumo
MÉDIA(), SOMA()
.mean(), .soma()
Qual coluna foi coletada
Classificar por
ENCOMENDAR POR
.sort_values()
Direção (ascendente/descendente)
desduplicação
DISTINTO
.drop_duplicates()
Em quais colunas?
Depuração: com IA
Quando o código falha, a IA é um excelente parceiro de depuração. Forneça a mensagem de erro completa e o trecho de código relevante. Mas cuidado com duas armadilhas. Primeiro, a IA pode sugerir uma solução que “silencia” o erro (por exemplo, ocultando alertas) — isso não corrige o erro, mas o oculta. Em segundo lugar, a IA às vezes altera silenciosamente outro comportamento enquanto “resolve” um problema. Regra: entenda a correção, resolva não silenciar e verifique se a saída ainda está correta após a correção.
Quer código interpretável e sustentável
Ao comprar código da IA, peça um código que seja legível e de fácil manutenção, não apenas um código que “funcione”. Quando você ou um colega abrir esse código meses depois, ele deverá ser capaz de entender o que ele faz. Para fazer isso, crie o hábito de fazer com que a IA inclua três coisas: nomes de variáveis significativos (orders_temiz, não df2), linhas curtas de comentários em etapas críticas (explicando por que, não o que está sendo feito) e uma constante nomeada em vez de um número mágico (ACCEPT_ESIGI = 0,85 em vez de 0,85 enterrado no código). Evite também longas cadeias de linha única (conectando cinco ações em uma linha); isso dificulta a depuração. Por padrão, a IA geralmente produz código conciso e “inteligente”; Se você disser claramente "escrever legível, interpretável, sustentável", obterá uma saída muito mais sustentável. Esta é também a base da reprodutibilidade (Unidade 10): código que não é compreendido é código que não pode ser executado novamente com segurança.
três mini cases
Caso 1 — Replicação JOIN. Um analista combinou os pedidos com a tabela de produtos e descobriu que o faturamento total era 3 vezes maior. Causa: cada produto tinha várias linhas (cores diferentes) na tabela de produtos; JOIN duplicou cada pedido. O código da IA estava “funcionando”, mas o número de linhas saltou de 240 mil para 690 mil. Lição: sempre verifique o número de linhas após mesclar/JOIN.
Caso 2 — Função de adaptação. Ele sugeriu AI df.groupby('x').summarize() para um estagiário; Não existe tal método em pandas (existe .agg()). O código não funcionou, o estagiário ficou perdido por 20 minutos. Lição: verifique uma função que você não reconhece no documento; A IA pode criar métodos.
Caso 3 — Colapso da produtividade. Um código estava consultando o banco de dados em aplicação para cada linha; Funcionou em 5.000 linhas, demorou 9 horas em 4 milhões de linhas e parou. Quando a IA sugeriu uma solução vetorizada (lote), o tempo foi reduzido para 40 segundos. Lição: o código que funciona com pequenos dados pode falhar em grandes volumes de dados; Considere a eficiência.
Quatro modelos copiáveis
1) Solicitando SQL com esquema:
Sua função: assistente SQL (PostgreSQL). Tabelas:- pedidos(id, customer_id, data e hora, valor numérico)- clientes(id, texto da cidade)Tarefa: Obter o faturamento total e o número de pedidos por cidade em 2024, classificados por faturamento em ordem decrescente. Explique como você lida com cidades NULL. Testarei a consulta com LIMIT primeiro; Geração UPDATE/DELETE.
2) processo pandas com ponto de verificação:
Tenho DataFrames df (pedidos) e df_customers (clientes). Calcule o valor médio por cidade. IMPORTANTE: imprima o número de linhas antes e depois da mesclagem para ver se há duplicação. Explique em qual coluna você mesclou e por que escolheu interno/esquerdo.
3) Explicação e verificação do código:
Explique o seguinte código do pandas linha por linha: o que cada linha faz, que suposições ela faz, em que casos poderia dar resultados errados? Deixe-me saber se usei uma função fudge. Código: [colar]
4) Depuração:
Este código dá esse erro. Mensagem de erro completa: [colar]. Código: [colar]. Explique a causa RAIZ do erro e corrija-o. Corrija-o resolvendo realmente o problema, não silenciando o alerta. Indique também se a correção alterou a saída.
Alerta fraco / Alerta forte
Alerta fraco:
Escreva uma consulta que me dê vendas por cidade.
Nomes de tabelas, colunas, tipo de banco de dados e comportamento NULL não são claros. A IA é comum, provavelmente irá produzir uma consulta que não cabe na sua tabela.
Alerta poderoso:
Sua função: assistente SQL (MySQL 8). Tabela: vendas(id, cidade varchar, valor decimal, data data). Tarefa: Obter o valor total e médio, número de pedidos por cidade para o ano de 2024; Ordenar decrescentemente pelo valor total; Mostrar apenas cidades com mais de 100 pedidos (HAVING).NULL exclui cidade. Explique a consulta; Vou testar com LIMIT.
Aqui banco de dados, esquema, filtro, classificação e regra NULL são óbvios.
Erros comuns
- Executando o código sem lê-lo. O código funcional não é o código correto; O código que manipula a coluna errada também é executado sem erros.
- Não verificar o número de linhas após mesclagem/JOIN. A chave errada duplica silenciosamente as linhas e aumenta os totais.
- Não verificando a função de ajuste. A IA pode sugerir métodos que não existem; Confirme no documento que você não o reconhece.
- Não pensando em eficiência. apply/loop trabalhando em pequenas falhas de dados em milhões de linhas; vetorizar.
- Execute diretamente no banco de dados de produção. Especialmente executar UPDATE/DELETE sem WHERE ou teste é desastroso.
Dica: adquira o hábito de adicionar uma "linha de validação" a cada trecho de código que você recebe da IA: um número de linhas pré e pós-processamento, algumas linhas de amostra e um total crítico manualmente. Essas três verificações detectam a maioria dos erros lógicos silenciosos.
Em resumo
A IA é um parceiro poderoso que produz rapidamente código SQL e pandas, mas não é uma autoridade cega. Dê-lhe claramente o esquema e o propósito; Leia o código que ele produz como se você mesmo o tivesse escrito; Verifique o número de linhas, funções de ajuste e rendimento após mesclagem/JOIN; Não execute-o sem testá-lo no banco de dados de produção. Ao depurar, procure resolver o problema, não silenciá-lo. O código que funciona não é o código correto; Só você pode garantir a precisão.
Tarefa de aplicativo
Escolha uma pergunta de análise (por exemplo, “faturamento mensal por canal”) e solicite o código da IA com SQL e pandas. Leia ambos os códigos linha por linha, verifique o número de linhas após mesclar/JOIN e verifique manualmente pelo menos uma soma crítica. Compare se os dois códigos produzem o mesmo resultado; Se for diferente, descubra o porquê.
lista de verificação
- [] Forneci a tabela/esquema e o propósito claramente à IA?
- [] Eu li e entendi o código produzido linha por linha?
- [] Verifiquei o número de linhas após mesclar/JOIN?
- [] Verifiquei as funções que não reconheço na documentação?
- [] Testei o código primeiro em dados pequenos/seguros e não no ambiente de produção?