+GLOSSÁRIO BÔNUS
O ARSENAL SECRETO
DE QUEM TRABALHA COM DADOS
Atalhos, padrões e truques que multiplicam sua produtividade.
VOCÊ SABE QUANDO ESTÁ
ANALISANDO DADOS E, DE REPENTE,
DESCOBRE AQUELE
MICROATALHO QUE
MUDA TUDO?
• Um método que reduz 12 linhas para 2.
• Uma função que elimina um gargalo chato.
• Um gráfico que antes levava minutos… agora
aparece em segundos.
Quem vive de dados conhece esse momento.
É quase uma epifania.
E este e-book nasce exatamente desse espírito:
pequenas sacadas que destravam grandes resultados.
Nada aqui é “teoria demais”, isso você encontra nos livros.
E nada aqui é “o que você já vê em todo canto”, internet
está cheia de tutoriais iguais.
O que você vai encontrar é o tipo de hack que só
descobre quem analisa dados todos os dias, testa, falha,
acerta e percebe:
“NOSSA… POR QUE NINGUÉM ME CONTOU ISSO ANTES?”
Este material é um aperitivo técnico, pensado para elevar
seu repertório e turbinar sua autonomia em Python,
abrindo espaço para você pensar, e não só executar.
SUMÁRIO
Introdução: a mentalidade dos hacks 3
A importância de ser eficiente 4
Manipulação de dados: hacks realmente úteis 5
Leitura, escrita & I/O: otimizando a base de tudo 7
Visualização: do exploratório ao refinado 8
Estatística e EDA: desvendando padrões 9
Modelagem/ML: estrutura, automação e precisão 9
Performance: velocidade, memória e paralelismo 10
Pandas vs Polars: quando usar cada um 11
Automação: scripts que trabalham por você 11
Snippets úteis: copiar e colar sem culpa 12
Código limpo: clareza é produtividade 12
Pacotes indispensáveis 13
Miniprojetos práticos: aplicando os hacks na vida real 14
Conclusão 15
GLOSSÁRIO BÔNUS 16
2
INTRODUÇÃO:
A MENTALIDADE
DOS HACKS
O aprendizado tradicional ensina Python “do começo ao fim”. Mas quem vive de dados
diariamente descobre que a produtividade surge em outro lugar: nos microatalhos, nas
funções escondidas e nos padrões que economizam tempo de verdade.
Este e-book existe para revelar esses “atalhos que ninguém mostra”, mas que
profissionais experientes usam naturalmente.
Porque tempo não é só dinheiro: é análise mais rápida, decisões melhores e menos
retrabalho.
Porque clareza não se compra: ela aparece quando seu código para de atrapalhar e
começa a ajudar.
E porque eficiência é silenciosa: ninguém nota quando tudo funciona bem… mas todo
mundo sente quando um pipeline trava.
Hacks são como portas secretas dentro do Python, depois
que você passa por elas, nunca mais volta ao caminho antigo.
3
A IMPORTÂNCIA
DE SER EFICIENTE
A maior parte do tempo em análise de dados não vai para modelagem, e sim para
preparação, limpeza e manipulação. Diversos estudos apontam para a mesma
direção: em muitos projetos de análise ou Machine Learning, a preparação de
dados pode consumir até 80% do tempo.¹
Isso significa que eficiência não é um detalhe: ela determina sua velocidade de
entrega, sua capacidade de explorar soluções e até a qualidade final das decisões.
Dominar hacks, padrões e boas práticas faz toda a diferença porque impacta
diretamente a etapa onde você gasta mais energia e onde existem mais
oportunidades de ganho real.
¹ Fonte: AWS - What is Data Preparation?
4
MANIPULAÇÃO DE DADOS:
HACKS REALMENTE ÚTEIS
A manipulação de dados é onde tudo
começa, e onde os maiores ganhos de
performance aparecem.
Operações Vetorizadas (melhores que loops)
Quando usamos loops, processamos linha por linha. Com vetorização,
processamos tudo de uma vez, muito mais rápido.
O exemplo abaixo mostra como uma operação vetorizada substitui loops
manuais, trazendo simplicidade e velocidade.
df['nova_coluna'] = df['valor'] * 1.15
Filtros mais elegantes com query()
Query() deixa condições complexas mais legíveis e ainda pode ser mais eficiente.
Veja como escrever filtros complexos sem poluir o código com vários colchetes e
operadores lógicos.
[Link]("estado == 'SP' and receita > 1000")
Criando colunas com eval()
eval() facilita expressões matemáticas e reduz ruído visual.
Este comando cria uma nova coluna utilizando sintaxe matemática direta,
tornando o código mais limpo.
[Link]("lucro = receita - custo", inplace=True)
5
MANIPULAÇÃO DE DADOS
Tipos de dados otimizados
Converter tipos reduz memória e melhora desempenho.
Veja como ajustar tipos para acelerar operações e evitar consumo excessivo
de RAM.
df['estado'] = df['estado'].astype('category')
df['valor'] = df['valor'].astype('float32')
Method Chaining para transformar dados com fluidez
Mantém a leitura linear e limpa.
Abaixo, um pipeline fluido que transforma, calcula e ordena dados, tudo
numa sequência legível.
df = (
[Link]()
.assign(percentual=lambda d: [Link] / [Link]())
.sort_values('percentual', ascending=False)
)
6
LEITURA, ESCRITA & I/O:
OTIMIZANDO A BASE DE TUDO
Ler arquivos grandes da forma errada é uma
das maiores causas de lentidão nos pipelines.
Ler apenas colunas úteis
Leia somente o necessário para economizar tempo e memória.
pd.read_csv("[Link]", usecols=["id", "valor", "data"])
Salvar em Parquet (muito mais eficiente que CSV)
Parquet comprime, acelera leitura e é formato padrão em pipelines modernos.
df.to_parquet("[Link]", index=False)
Processar arquivos gigantes em pedaços (chunks)
Introdução antes do código.
Aqui você processa 100 mil linhas por vez, evitando travamentos.
for chunk in pd.read_csv("[Link]", chunksize=100000):
process(chunk)
Ler CSVs enormes como se fossem tabelas SQL (DuckDB)
DuckDB é incrivelmente rápido para leitura tabular de arquivos grandes.
import duckdb
[Link]("SELECT * FROM '[Link]'").df()
7
VISUALIZAÇÃO:
DO EXPLORATÓRIO AO REFINADO
Visualizar bem não é apenas estética, é
entender padrões e problemas rapidamente.
Histogramas para detectar distribuições
Um comando simples para visualizar rapidamente a forma dos seus dados.
[Link](figsize=(10,6))
Pairplot para revelar relações entre variáveis
Esse gráfico mostra correlações e padrões de forma imediata.
[Link](df, hue="classe", diag_kind="kde")
Heatmap de correlação
A visualização ideal para entender como variáveis se relacionam entre si.
[Link]([Link](), cmap="viridis", annot=True)
8
ESTATÍSTICA & EDA:
DESVENDANDO PADRÕES
A análise exploratória é onde surgem os primeiros
insights e problemas a serem resolvidos.
Relatório completo de EDA automático
Um clique e você tem um relatório rico com outliers, valores faltantes,
distribuições e mais.
from ydata_profiling import ProfileReport
ProfileReport(df).to_file("[Link]")
Identificação de outliers com IQR
Essa técnica ajuda a limpar valores extremos que podem distorcer a análise.
q1, q3 = [Link]([0.25, 0.75])
iqr = q3 - q1
df_f = df[([Link] > q1 - 1.5*iqr) & ([Link] < q3 + 1.5*iqr)]
MODELAGEM / MACHINE LEARNING:
ESTRUTURA, AUTOMAÇÃO E PRECISÃO
Construir modelos bem estruturados
exige organização, não complexidade.
pipe = Pipeline([
Pipelines para padronização e
reprodutibilidade ("scale", StandardScaler()),
Pipelines garantem que ("clf", LogisticRegression())
pré-processamento e modelagem
aconteçam juntos, evitando erros. ])
[Link](X_train, y_train)
9
MODELAGEM / MACHINE LEARNING:
Avaliação justa com Cross-Validation
Uma única métrica pode enganar, a validação cruzada traz robustez.
cross_val_score(pipe, X, y, cv=5).mean()
Tuning de hiperparâmetros em paralelo
Acelere testes de parâmetros usando todos os núcleos disponíveis.
GridSearchCV(pipe, params, n_jobs=-1)
PERFORMANCE:
VELOCIDADE, MEMÓRIA E PARALELISMO
O Python para dados é rápido… desde
que você o use da forma certa.
Evite iterrows() (quase sempre)
É uma armadilha comum, loops linha a linha são lentos demais.
Reduzir memória convertendo tipos
Transformar colunas categóricas pode reduzir drasticamente o uso de RAM.
df['estado'] = df['estado'].astype('category')
Paralelização com swifter
Para acelerar apply() automaticamente usando vários núcleos.
df['nova'] = df['col'].[Link](funcao)
10
PANDAS VS POLARS:
QUANDO USAR CADA UM
Polars traz paralelismo, velocidade
e eficiência extrema.
Comparação prática: Pandas
Veja como uma agregação simples é feita no Pandas.
df = pd.read_csv("[Link]")
[Link]("categoria")['valor'].mean()
Comparação prática: Polars
Agora veja a mesma operação usando Polars, geralmente mais rápida.
df = pl.read_csv("[Link]")
[Link]("categoria").agg([Link]("valor"))
AUTOMAÇÃO:
SCRIPTS QUE TRABALHAM POR VOCÊ
Automatizar libera tempo e padroniza processos.
Agendar rotinas com horário definido
Use essa técnica para enviar relatórios automaticamente.
import schedule
[Link]().[Link]("08:00").do(gerar_relatorio)
Conectar Python a bancos SQL
Integrar análise com bases corporativas fica simples com SQLAlchemy.
import sqlalchemy
pd.read_sql("SELECT * FROM tabela", engine)
11
SNIPPETS ÚTEIS:
COPIAR E COLAR SEM CULPA
Pequenos trechos que
resolvem grandes problemas.
Filtrar valores por intervalo
Ideal para segmentar faixas de valores rapidamente.
df[[Link](100, 500)]
Padronizar nomes de colunas
Útil em bases “sujas”.
[Link](columns=lambda c: [Link]().strip())
Agregações múltiplas
Um só comando extraindo várias estatísticas.
[Link]('cat').agg(['mean','std','min','max'])
CÓDIGO LIMPO:
CLAREZA É Confira essas 5 dicas para escrever código
PRODUTIVIDADE
limpo (mesmo quando o prazo aperta):
▪ Nomeie variáveis como se estivesse
Quanto mais limpo seu código, mais
explicando para alguém do futuro.
rápido você evolui, e menos erros comete.
▪ Uma função = uma responsabilidade.
▪ Linhas curtas, blocos pequenos.
▪ Comente o porquê, não o como.
▪ Nunca confie no “depois eu arrumo”.
Código limpo é um presente para você
mesmo. E um gesto de gentileza com quem
vai manter seu trabalho.
12
PACOTES INDISPENSÁVEIS
Existem dezenas de bibliotecas úteis no ecossistema de Python, mas algumas entregam
um impacto desproporcional na produtividade, especialmente para quem trabalha com
análise de dados diariamente.
A seguir, uma curadoria dos 3 pacotes realmente essenciais,
aqueles que fazem diferença imediata no seu workflow.
1) Polars: performance de última geração para manipulação de dados
O Polars é o sucessor moderno e turbinado do Pandas. Escrito em Rust, ele aproveita
processamento paralelo e estruturas colunares altamente otimizadas.
Por que usar:
Quando usar:
▪ Operações até 10x mais rápidas que
o Pandas em muitos casos. ▪ Quando Pandas começa a ficar
▪ Consumo muito menor de memória. lento.
▪ Lazy evaluation (só executa quando ▪ Em agregações pesadas.
realmente precisa). ▪ ETLs locais e arquivos grandes.
▪ Ideal para datasets grandes ou
pipelines robustos.
2) DuckDB: SQL ultrarrápido sobre arquivos locais
O DuckDB é conhecido como “o SQLite para analytics”. Ele permite fazer consultas SQL
diretamente sobre CSV, Parquet e outros formatos, sem precisar carregar tudo na memória.
Por que usar: Quando usar:
▪ Incrivelmente eficiente para consultas ▪ Ao trabalhar com múltiplos arquivos
tabulares. grandes.
▪ Une o melhor do SQL com o Python. ▪ Para unir, filtrar e agregar dados
▪ Perfeito para ETLs, benchmarks e rapidamente.
prototipação. ▪ Quando você prefere SQL para
analisar antes de levar para Python.
3) ydata-profiling: EDA completa em um só Por que usar:
comando
▪ Economiza horas de exploração
O antigo pandas-profiling cresceu e ficou ainda manual.
melhor. Com poucas linhas, você obtém um
relatório completo do seu dataset:
Quando usar:
▪ Distribuições.
▪ Correlações. ▪ Sempre que receber um dataset novo.
▪ Missing values. ▪ Antes de qualquer modelagem.
▪ Estatísticas. ▪ Para validar qualidade de dados
▪ Alertas de qualidade. rapidamente.
▪ Sugestões de limpeza.
13
MINIPROJETOS PRÁTICOS:
APLICANDO OS HACKS NA VIDA REAL
Projetos para aplicar todos os hacks juntos e acelerar sua evolução.
MINIPROJETO 1: PIPELINE DE VENDAS COM EDA AUTOMÁTICO
Objetivo: Construir um fluxo completo de leitura, limpeza,
transformação e exploração de dados.
O que você pratica:
▪ Leitura otimizada (Parquet ou DuckDB).
▪ Method chaining.
▪ Criação de colunas com assign().
▪ Relatório automático com ydata-profiling.
▪ Exportação final em Parquet.
Entrega final: Um relatório HTML + dataset limpo e otimizado.
MINIPROJETO 2: ANÁLISE DE DADOS MINIPROJETO 3: AUTOMAÇÃO DE
NÃO ESTRUTURADOS (JSON) RELATÓRIO DIÁRIO
Objetivo: Processar um grande arquivo Objetivo: Criar um script que roda
JSON com performance. diariamente e gera um relatório.
O que você pratica: O que você pratica:
▪ Orjson para leitura e escrita. ▪ Schedule para agendamento.
▪ Flatten de estruturas. ▪ Leitura de dados do dia.
▪ Conversão para DataFrame. ▪ Geração de gráficos automáticos.
▪ Exportação final. ▪ Exportação e envio de resultados
(use rich para logs bonitos!).
Entrega final: Dataset estruturado em
Parquet + insights iniciais. Entrega final: Script que roda sozinho
no horário definido.
Esses projetos funcionam como pequenos laboratórios práticos: rápidos o suficiente
para fazer em poucas horas, mas completos o bastante para consolidar habilidade real.
14
CONCLUSÃO
Você acabou de ver como alguns poucos hacks podem acelerar, simplificar e
transformar sua prática em Python.
Agora imagine:
• Aprender isso de forma estruturada.
• Com acompanhamento.
• Com projetos reais.
• Dentro de uma instituição com a credibilidade da USP/Esalq.
• E voltar para o mercado com outra confiança.
Se você quer dar o próximo passo – consistente, sólido e inteligente – então você
vai gostar do curso Essential em Análise de Dados com Python do MBA USP/Esalq.
É o lugar onde esses hacks são só o começo.
Clique aqui para conhecer o curso e garantir sua inscrição.
15
BÔNUS:
GLOSSÁRIO
Termos essenciais para quem
analisa dados com Python
Este glossário reúne os termos mais
usados no dia a dia de quem trabalha
com Python, análise de dados e
Machine Learning. É um atalho para que 4) Pipeline
você possa consultar rapidamente Sequência organizada de etapas (como
conceitos importantes sem interromper limpar transformar modelar). Evita
sua leitura ou seu fluxo de trabalho. erros, garante reprodutibilidade e
mantém o fluxo consistente.
1) DataFrame
A estrutura de dados central do 5) ETL (Extract, Transform, Load)
Pandas (e também do Polars). É como Processo que extrai dados de uma
uma tabela: linhas (observações) e fonte, transforma e carrega em outro
colunas (variáveis). destino. Base de qualquer fluxo de
dados corporativo.
2) Vetorização
Execução de operações em colunas 6) Tipagem (dtype)
inteiras de dados de uma vez, sem O tipo de dado de uma coluna: int,
loops explícitos. É muito mais rápido float, string, category, datetime etc.
e eficiente que iterar linha a linha. Escolher o tipo certo economiza
memória e acelera operações.
3) EDA (Exploratory Data Analysis)
Análise exploratória de dados: etapa 7) Casting
inicial em que entendemos Conversão explícita de um tipo de
distribuições, padrões, correlações e dado para outro.
outliers antes da modelagem. Ex.: df["valor"].astype("float32").
16
8) Serialização 15) Overfitting
Processo de transformar dados para Quando o modelo “decora” o conjunto
armazenamento ou transmissão. CSV, de treino e perde capacidade de
JSON, Parquet são formas de generalizar para novos dados.
serializar dados.
16) Lazy evaluation
9) Parquet Execução adiada: o código só é
Formato binário comprimido, rápido processado quando necessário. Polars
e eficiente para leitura e escrita de usa muito esse conceito para otimizar
grandes volumes. Padrão de fato em performance.
pipelines modernos.
17) Benchmark
10) Chunking Comparação de performance entre
Técnica para ler/processar arquivos soluções, códigos, bibliotecas ou
grandes em pedaços menores, modelos.
evitando estouro de memória.
18) Paralelismo
11) One-hot encoding Uso de múltiplos núcleos de
Transformação de variáveis processamento para acelerar tarefas.
categóricas em colunas binárias (0/1). Ferramentas como swifter e Polars
Muito usada em modelos de Machine exploram isso.
Learning.
19) Query
12) Feature engineering Consulta expressiva para filtrar ou
Criação de novas variáveis (features) manipular dados.
que ajudam modelos a capturar Ex.: [Link]("valor > 100").
padrões mais claramente.
20) API
13) Escalonamento (Scaling) Interface que permite um sistema
Transformação que padroniza ou conversar com outro, muito usada
normaliza as variáveis numéricas quando Python se conecta a bancos,
antes da modelagem. serviços ou outras aplicações.
Ex.: StandardScaler, MinMaxScaler.
14) Hiperparâmetro
Parâmetro que você define antes de
treinar um modelo (ex.: profundidade
da árvore, C da regressão logística).
Diferente dos parâmetros aprendidos
pelo modelo.
[Link]
@mbauspesalq