Skip to main content
Pandas é uma biblioteca popular para manipulação e análise de dados em Python. Na versão 2 do chDB, melhoramos o desempenho das consultas em DataFrames do Pandas e introduzimos a função de tabela Python. Neste guia, aprenderemos a consultar o Pandas usando a função de tabela Python.

Configuração

Primeiro, vamos criar um ambiente virtual:
Agora vamos instalar o chDB. Certifique-se de ter a versão 2.0.2 ou superior:
E agora vamos instalar o Pandas e mais algumas bibliotecas:
Vamos usar o ipython para executar os comandos no restante do guia, que pode ser iniciado executando:
Você também pode usar o código em um script em Python ou no seu notebook favorito.

Criando um DataFrame do Pandas a partir de uma URL

Vamos consultar alguns dados do repositório da StatsBomb no GitHub. Primeiro, vamos importar requests e pandas:
Então, vamos carregar um dos arquivos JSON de partidas em um DataFrame:
Vamos ver com quais dados vamos trabalhar:
Em seguida, vamos carregar um dos arquivos JSON de eventos e também adicionar uma coluna chamada match_id a esse DataFrame:
E, mais uma vez, vamos dar uma olhada na primeira linha:

Consultando DataFrames do Pandas

Agora, vamos ver como consultar esses DataFrames usando o chDB. Vamos importar a biblioteca:
Podemos consultar DataFrames do Pandas com a função de tabela Python:
Então, se quiséssemos listar as colunas de matches_df, poderíamos escrever o seguinte:
Poderíamos então descobrir quais árbitros apitaram mais de uma partida escrevendo a seguinte consulta:
Agora, vamos explorar events_df.

Fazendo junção de DataFrames do Pandas

Também podemos fazer junção de DataFrames em uma consulta. Por exemplo, para obter uma visão geral da partida, poderíamos escrever a seguinte consulta:

Preenchendo uma tabela a partir de um DataFrame

Também podemos criar e preencher tabelas no ClickHouse a partir de DataFrames. Se quisermos criar uma tabela no chDB, precisamos usar a Stateful Session API. Vamos importar o módulo session:
Inicialize uma sessão:
Em seguida, vamos criar um banco de dados:
Em seguida, crie a tabela events com base em events_df:
Em seguida, podemos executar a consulta que retorna o jogador que mais recebeu passes:

Fazendo a junção entre um DataFrame do Pandas e uma tabela

Por fim, também podemos atualizar nossa consulta de junção para unir o DataFrame matches_df à tabela statsbomb.events:
Última modificação em 23 de julho de 2026