ANÚNCIO

~/questoes/dados

Como DuckDB se integra com bibliotecas Python populares como Pandas e NumPy?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência DuckDB – Análise Qualquer Volume de Dados com Python
Para fixar

Integração de DuckDB com Pandas e NumPy

Conceito central

DuckDB funciona como um intermediário inteligente entre SQL e Python, permitindo carregar dados de bibliotecas como Pandas e NumPy, processar com SQL otimizado e converter resultados de volta para estruturas Python. Essa integração elimina a necessidade de arquivos intermediários e combina a eficiência de SQL com a flexibilidade programática de Python.

Por que essa resposta faz sentido

DuckDB permite converter dados entre formatos e combinar SQL com Python de forma programática. Você pode carregar um DataFrame Pandas, executar queries SQL diretamente nele e recuperar os resultados novamente como DataFrame, tudo na mesma sessão Python sem salvar em arquivo.

Armadilhas comuns

  • Pensar que DuckDB exige arquivos intermediários como CSV ou Parquet para funcionar com Pandas (a integração é em memória).
  • Confundir integração com equivalência: DuckDB não substitui Pandas, mas trabalha junto com ele potencializando análises.
  • Assumir que apenas uma das bibliotecas é suportada, quando na verdade DuckDB suporta Pandas, NumPy, Polars e outras.

Entenda as alternativas

A

Isso seria uma limitação severa e ia contra o design de DuckDB. Na verdade, a integração é direta em memória. Dados podem ser processados sem necessidade de exportação intermediária para arquivo.

B

DuckDB foi projetado especificamente para integrar com o ecossistema Python. A compatibilidade com Pandas, NumPy e Polars é uma das maiores vantagens da ferramenta, não uma limitação.

C

Ambas as bibliotecas são suportadas igualmente bem. Você pode trabalhar com arrays NumPy, DataFrames Pandas e até Polars DataFrames de forma equivalente dentro de DuckDB.

D

Essa é a resposta correta. DuckDB permite carregar dados de Pandas e NumPy, processar com SQL e converter resultados de volta para formatos Python, criando um fluxo contínuo e eficiente de análise.

Dica prática: Ao trabalhar com um DataFrame Pandas grande, ao invés de usar `.groupby()` e `.agg()`, carregue o dado em DuckDB com `duckdb.from_df(df).sql('SELECT...').to_df()`. Você ganha velocidade mantendo a simplicidade do DataFrame final.

Revise pensando: Se você tem um DataFrame Pandas e precisa fazer uma agregação complexa, como DuckDB pode ajudar sem salvar o arquivo em disco?