Pular para o conteúdo principal

Gerenciando bancos de dados PostgreSQL em Python com psycopg2

Descubra como criar, conectar-se e gerenciar bancos de dados PostgreSQL usando o pacote psycopg2 do Python.
Atualizado 21 de mar. de 2025  · 14 min lido

Os dados estão no centro de quase todos os aplicativos digitais que você possa imaginar. De aplicativos móveis e jogos de computador a ferramentas bancárias e veículos autônomos, tudo é baseado em dados. Onde todos esses dados são armazenados? A resposta é: bancos de dados. 

Um banco de dados é uma coleção organizada de dados estruturados, normalmente armazenados eletronicamente em um sistema de computador. Apesar do recente desenvolvimento de novos tipos de bancos de dados (projetados para lidar com o aumento do volume e da variabilidade dos dados), uma quantidade considerável de dados em todo o mundo ainda é armazenada nos chamados bancos de dados relacionais. Os bancos de dados relacionais armazenam dados como coleções de tabelas predefinidas com linhas e colunas que são conectadas por meio de uma ou mais relações. 

A capacidade de manipular e extrair dados desses bancos de dados é uma habilidade essencial no setor de dados e é uma habilidade cada vez mais procurada. A maneira padrão de criar e gerenciar bancos de dados é a SQL (Structured Query Language, Linguagem de Consulta Estruturada). O SQL é o bloco de construção de alguns dos bancos de dados relacionais mais populares do mercado, como PostgreSQL, Microsoft SQL Server, MySQL e SQLite

Neste tutorial, vamos nos concentrar nos bancos de dados baseados no PostgreSQL e em como você pode criar, conectar-se a eles e gerenciá-los usando Python. O conjunto SQL-Python é uma das habilidades obrigatórias que você deve dominar em sua jornada de ciência de dados. Para conectar o Python ao PostgreSQL, usaremos o pacote psycopg2, o adaptador de banco de dados PostgreSQL mais popular para Python. Você está pronto para o desafio? Vamos começar!

Entendendo o PostgreSQL

O PostgreSQL é um banco de dados relacional leve, gratuito e de código aberto. Devido à sua arquitetura comprovada, confiabilidade, integridade de dados e integração suave com outras linguagens de programação populares, como Python e R, o PostgreSQL é extremamente bem aceito pelo setor, com empresas de todos os tamanhos e regiões que o utilizam. 

O PostgreSQL usa e amplia a linguagem SQL combinada com muitos recursos que armazenam e dimensionam com segurança as cargas de trabalho de dados mais complicadas. 

Para começar a usar o PostgreSQL, primeiro você precisa instalá-lo em seu computador. No site oficial do PostgreSQL, você pode encontrar vários pacotes e instaladores prontos para uso do PostgreSQL e um arquivo de código-fonte disponível para diferentes plataformas e casos de uso.

Para este tutorial, usaremos o Postgres App, um aplicativo simples e nativo do macOS que inclui todos os recursos necessários para você começar a usar o PostgreSQL, mas lembre-se de que todos os outros pacotes disponíveis são igualmente válidos, e a sintaxe do PostgreSQL para executar consultas é a mesma em todos os pacotes.

Se você quiser saber mais sobre o PostgreSQL, consulte nosso Guia para iniciantes no PostgreSQL e o bom número de cursos de SQL.

Entendendo o psycopg2

Para se conectar a um banco de dados já criado no seu sistema ou na Internet, você terá de instruir o Python a detectá-lo. Em outras palavras, você terá de informar ao Python que o banco de dados de seu interesse é um banco de dados PostgreSQL. 

No Python, você tem várias opções que pode escolher. Nesse caso, usaremos o psycopg2, provavelmente o adaptador de banco de dados PostgreSQL mais popular para Python. O Psycopg2 requer alguns pré-requisitos para funcionar corretamente em seu computador. Depois de instalá-los (leia a documentação para obter mais informações), você pode instalar o psycopg2 como qualquer outro pacote Python:

pip install psycopg2

No entanto, se quiser usar o psycopg2 diretamente, você também pode instalar o psycopg2-binary, uma versão autônoma do pacote, que não requer um compilador ou bibliotecas externas. Essa é a instalação preferida para novos usuários.

pip install psycopg2-binary

Por fim, se estiver usando o Python em um ambiente Conda, você deverá instalar o psycopg2 usando a instalação do Instalação do Anaconda:

conda install -c anaconda psycopg2

Agora que você está pronto, vamos criar sua primeira conexão com a sessão do PostgreSQL com psycopg2!

Conectando o Python ao PostgreSQL

Para que você possa usar o Python para interagir com um banco de dados PostgreSQL, precisamos fazer uma conexão. Isso é feito com a função psycopg2 connect(), que cria uma nova sessão de banco de dados e retorna uma nova instância de conexão.

Para este tutorial, vamos nos conectar a um banco de dados chamado "datacamp_courses" que está hospedado localmente. 

conn = psycopg2.connect(database = "datacamp_courses", 
                        user = "datacamp", 
                        host= 'localhost',
                        password = "postgresql_tutorial",
                        port = 5432)

Os parâmetros básicos de conexão necessários são:

  • database. O nome do banco de dados.
  • user. Nome de usuário necessário para autenticação.
  • password. Senha usada para autenticação.
  • host. Endereço do servidor do banco de dados (no nosso caso, o banco de dados é hospedado localmente, mas pode ser um endereço IP).
  • porto. Número da porta de conexão (o padrão é 5432 se não for fornecido).

Torne-se um engenheiro de dados

Desenvolva habilidades em Python para se tornar um engenheiro de dados profissional.
Comece a usar gratuitamente

Criando uma tabela no PostgreSQL

É hora de você criar sua primeira tabela no banco de dados datacamp_courses. Queremos que você crie uma tabela com informações sobre alguns dos cursos do catálogo de cursos da DataCamp. A tabela tem o seguinte esquema: 

A especificação nos fornece várias informações sobre as colunas da tabela. Achave primária da tabela deve ser course_id e seu tipo de dados deve ser um número inteiro. Uma chave primária é uma restrição que impõe que os valores da coluna sejam não nulos e exclusivos. Ele permite que você identifique exclusivamente uma instância específica ou um conjunto de instâncias presentes na tabela. 

As colunas restantes fornecem informações sobre o nome do curso, o nome da instrução do curso e o tópico do curso.

Antes de criar a tabela, é importante explicar como funciona a instância de conexão que você acabou de criar. Em essência, a conexão encapsula uma sessão de banco de dados e permite que você execute comandos e consultas SQL, como SELECT, INSERT, CREATE, UPDATE ou DELETE, usando o método cursor() e faça alterações persistentes usando o método commit() .

Depois de criar a instância do cursor, você pode enviar comandos para o banco de dados usando o método execute() e recuperar dados de uma tabela usando o método fetchone(), fetchmany(), ou fetchall().

Por fim, é importante fechar o cursor e a conexão com o banco de dados sempre que você terminar suas operações. Caso contrário, eles continuarão a manter os recursos do lado do servidor. Para isso, você pode usar ométodo close() .

Abaixo, você pode encontrar o código para criar a tabela datacamp_courses:

# Open a cursor to perform database operations
cur = conn.cursor()
# Execute a command: create datacamp_courses table
cur.execute("""CREATE TABLE datacamp_courses(
            course_id SERIAL PRIMARY KEY,
            course_name VARCHAR (50) UNIQUE NOT NULL,
            course_instructor VARCHAR (100) NOT NULL,
            topic VARCHAR (20) NOT NULL);
            """)
# Make the changes to the database persistent
conn.commit()
# Close cursor and communication with the database
cur.close()
conn.close()

Esse é um exemplo muito básico de como criar tabelas no PostgreSQL, mas as coisas podem ficar muito mais complexas. Se você quiser saber mais sobre como criar um banco de dados PostgreSQL e explorar a estrutura, os tipos de dados e como normalizar bancos de dados, confira nosso artigo Criando banco de dados PostgreSQL para você.

Executando consultas básicas do PostgreSQL em Python

A tabela datacamp_courses está pronta; agora é hora de você usar o SQL para realizar algumas consultas básicas!

INSERIR 

Você deve ter notado que a tabela não tem valores até o momento. Para criar registros na tabela datacamp_courses, precisamos do comando INSERT.

cur = conn.cursor()

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Introduction to SQL','Izzy Weber','Julia')");

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Analyzing Survey Data in Python','EbunOluwa Andrew','Python')");

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Introduction to ChatGPT','James Chapman','Theory')");

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Introduction to Statistics in R','Maggie Matsui','R')");

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Hypothesis Testing in Python','James Chapman','Python')");

conn.commit()
cur.close()
conn.close()

A tabela resultante tem a seguinte aparência:

course_id

course_name

course_instructor

tópico

1

Introdução ao SQL

Izzy Weber

Julia

2

Analisando dados de pesquisa em Python

EbunOluwa Andrew

Python

3

Introdução ao ChatGPT

James Chapman

Teoria

4

Introdução à estatística em R

Maggie Matsui

R

5

Teste de hipóteses em Python

James Chapman

Python

SELECIONAR 

Ler dados em bancos de dados SQL é provavelmente algo que você fará muito em sua jornada de ciência de dados. Isso geralmente é chamado de consulta SELECT. Por enquanto, vamos ver como a tabela datacamp_courses está se comportando.

Chamaremos o comando clássico SELECT * FROM database_name para que você leia todos os dados disponíveis na tabela. Em seguida, usaremos o método fetchall() para buscar todas as linhas disponíveis. Observe que o PostgreSQL cria automaticamente um índice numérico para a coluna course_id .

cur = conn.cursor()
cur.execute('SELECT * FROM datacamp_courses;')
rows = cur.fetchall()
conn.commit()
conn.close()
for row in rows:
    print(row)
(1, 'Introduction to SQL', 'Izzy Weber', 'Julia')
(2, 'Analyzing Survey Data in Python', 'EbunOluwa Andrew', 'Python')
(3, 'Introduction to ChatGPT', 'James Chapman', 'Theory')
(4, 'Introduction to Statistics in R', 'Maggie Matsui', 'R')
(5, 'Hypothesis Testing in Python', 'James Chapman', 'Python')

ATUALIZAÇÃO 

Os dados geralmente vêm com erros. Você deve ter notado na seção anterior que o tópico associado ao curso "Introdução ao SQL" é Julia. Depois de verificar as informações sobre o curso, descobrimos o erro. Precisamos alterá-lo e escrever "SQL" em vez disso. Isso pode ser feito com a instrução UPDATE, como segue:

cur = conn.cursor()
cur.execute("UPDATE datacamp_courses SET topic = 'SQL' WHERE course_name = 'Introduction to SQL';")
conn.commit()
conn.close()

DELETE 

Por fim, você pode querer excluir um dos registros da tabela. Por exemplo, vamos excluir o curso Introdução à estatística em R:

cur = conn.cursor()
cur.execute("""DELETE from datacamp_courses WHERE course_name = 'Introduction to Statistics in R'""");
conn.commit()
cur.close()

Consultas avançadas do PostgreSQL em Python

Na seção anterior, examinamos as consultas SQL mais básicas. Mas você ainda tem muito a aprender. Vamos ver algumas consultas mais avançadas.

ORDENAR POR

Digamos que você queira classificar seu banco de dados pelo nome do instrutor. Você pode usar a declaração ORDER BY:

cur = conn.cursor()

cur.execute('SELECT * FROM datacamp_courses ORDER BY course_instructor')
rows = cur.fetchall()
for row in rows:
    print(row)
(2, 'Analyzing Survey Data in Python', 'EbunOluwa Andrew', 'Python')
(1, 'Introduction to SQL', 'Izzy Weber', 'SQL')
(3, 'Introduction to ChatGPT', 'James Chapman', 'Theory')
(4, 'Hypothesis Testing in Python', 'James Chapman', 'Python')

GROUP BY

Você pode querer executar algumas funções agregadas em diferentes grupos de dados. Por exemplo, você pode estar interessado em calcular o número de cursos dos diferentes instrutores de cursos. Você pode fazer esse tipo de operação com a função GROUP BY.

cur = conn.cursor()
cur.execute('SELECT course_instructor, COUNT(*) FROM datacamp_courses GROUP BY course_instructor')
rows = cur.fetchall()
for row in rows:
    print(row)
('James Chapman', 2)
('Izzy Weber', 1)
('EbunOluwa Andrew', 1)

JUNTAR

Até o momento, trabalhamos apenas com a tabela datacamp_course. No entanto, você só começa a aproveitar todo o potencial dos bancos de dados relacionais, como o PostgreSQL, quando trabalha com várias tabelas ao mesmo tempo. 

A ferramenta mágica para combinar várias tabelas é a operação JOIN. Imagine que temos uma segunda tabela em nosso banco de dados chamada programming_languages que contém informações básicas sobre as principais linguagens de programação para ciência de dados, incluindo o nome, a posição no Índice TIOBE e o número de cursos sobre a linguagem de programação no DataCamp. A tabela tem a seguinte aparência:

language_id

language_name

course_number

tiobe_ranking

1

SQL

31

8

2

Python

157

1

3

R

132

16

4

Julia

2

33

5

Scala

1

38

Imagine que você queira mesclar as duas tabelas para obter as informações dos cursos, juntamente com a posição do idioma no índice TIOBE. Usaremos um INNER JOIN para obter apenas as informações das linguagens de programação que aparecem na tabela datacamp_course

cur = conn.cursor()
cur.execute("""SELECT course_name, course_instructor, topic, tiobe_ranking
FROM datacamp_courses
INNER JOIN programming_languages
ON datacamp_courses.topic = programming_languages.language_name""")
rows = cur.fetchall()
for row in rows:
    print(row)
('Introduction to SQL', 'Izzy Weber', 'SQL', 8)
('Analyzing Survey Data in Python', 'EbunOluwa Andrew', 'Python', 1)
('Hypothesis Testing in Python', 'James Chapman', 'Python', 1)

Esse é apenas um exemplo, mas o potencial das uniões de SQL é infinito, o que faz com que esse seja um tópico de conhecimento obrigatório. Nosso curso, tutoriale folha de dicas sobre joins ajudarão você a começar.

Primeiros passos com o SQLAlchemy

O Psycopg2 é uma excelente ferramenta para você se conectar a bancos de dados PostgreSQL. Mas e se você tiver que trabalhar com bancos de dados hospedados em diferentes bancos de dados SQL, como Oracle e MySQL? Nesses cenários, talvez seja melhor usar uma ferramenta que possa se conectar a diferentes tipos de bancos de dados SQL. Para isso, o SQLAlchemy é um ótimo candidato. 

Em palavras simples, o SQLAlchemy permite que os usuários conectem bancos de dados usando a linguagem Python, executem consultas SQL usando programação baseada em objetos e simplifiquem o fluxo de trabalho. 

Embora a sintaxe varie em comparação com psycopg2, você pode fazer praticamente a mesma coisa. Abaixo, você encontra um exemplo de como criar um mecanismo para se conectar aos nossos conjuntos de dados datacamp_courses e ler todos os dados disponíveis na tabela datacap_course

import sqlalchemy as db


engine = db.create_engine("postgresql://datacamp@localhost:5432/datacamp_courses")
conn = engine.connect() 
output = conn.execute("SELECT * FROM datacamp_courses")
print(output.fetchall())
conn.close()
[(3, 'Introduction to ChatGPT', 'James Chapman', 'Theory'),
 (5, 'Hypothesis Testing in Python', 'James Chapman', 'Python'),
 (2, 'Analyzing Survey Data in Python', 'EbunOluwa Andrew', 'Python'),
 (1, 'Introduction to SQL', 'Izzy Weber', 'SQL')]

O SQLAlchemy é outra ferramenta excelente que vale a pena aprender. Para ter uma ideia de como a ferramenta funciona, dê uma olhada no nosso Tutorial do SQLALchemy.  

Usando o PostgreSQL no DataCamp DataLab

Na DataCamp, trabalhamos duro para tornar a ciência de dados mais fácil e acessível a todos. Essa foi a razão por trás da criação do DataCamp DataLab, um notebook baseado em nuvem projetado especificamente para a ciência de dados. Você pode pensar no DataCamp DataLab como uma mistura de Jupyter Notebook e Google Docs, que permite aos usuários escrever códigos, analisar dados individual ou coletivamente e compartilhar insights de dados.

Conectar o DataLab a bancos de dados PostgreSQL, bem como a outros bancos de dados SQL, é extremamente fácil. O DataLab permite que você se conecte a fontes de dados de forma segura. Ao mesmo tempo, você pode continuar sua análise de dados com Python ou R. Você só precisa criar uma integração, seguindo um processo simples e sem código, no qual precisará inserir suas credenciais de conexão.

Por fim, se você quiser experimentar a integração, mas não tiver um banco de dados PostgreSQL ao qual se conectar, poderá usar um de nossos bancos de dados PostgreSQL de amostra!

Você está curioso para saber mais sobre o DataCamp DataLab? Confira este artigo para saber mais sobre esse notebook de última geração para ciência de dados.

Conclusão

Bom trabalho! Neste tutorial, você se familiarizou com o PostgreSQL e aprendeu a gerenciar bancos de dados sem sair do Python, usando o pacote psycopg2. Mas esse é apenas o começo da jornada. O SQL é uma das linguagens de programação mais usadas na ciência de dados. Também é bastante fácil de aprender, portanto você não tem desculpa.  

Felizmente, o DataCamp tem tudo o que você precisa. Aqui estão alguns recursos que podem ajudar você a se tornar fluente em PostgreSQL e SQL em geral:

Obter uma certificação Python

Mostre que você é um cientista de dados em Python pronto para o trabalho

Perguntas frequentes

Qual é a diferença entre psycopg2 e psycopg2-binary?

psycopg2 é o pacote de código-fonte e requer a instalação de um compilador C e das bibliotecas do cliente PostgreSQL em seu sistema. psycopg2-binary é uma versão pré-compilada que inclui tudo o que você precisa para começar rapidamente. Ele é ótimo para fins de desenvolvimento e aprendizado, mas não é recomendado para ambientes de produção devido a possíveis incompatibilidades binárias.

Como lidar com erros de conexão de banco de dados em Python?

Você pode capturar e tratar erros relacionados à conexão usando os blocos try-except do Python. Por exemplo:

import psycopg2
from psycopg2 import OperationalError

try:
    conn = psycopg2.connect(
        database="datacamp_courses",
        user="datacamp",
        password="postgresql_tutorial",
        host="localhost",
        port=5432
    )
except OperationalError as e:
    print(f"An error occurred: {e}")

Isso permite que seu script falhe de forma graciosa e até mesmo tente novamente as conexões, se necessário.

Como faço para me conectar a um banco de dados PostgreSQL remoto em vez de um local?

Para se conectar a um banco de dados PostgreSQL remoto, substitua localhost pelo endereço IP ou nome de domínio do servidor remoto. Certifique-se de que:

  • O servidor de banco de dados permite conexões externas.
  • A porta correta (geralmente 5432) está aberta no firewall.
  • Seu arquivo PostgreSQL pg_hba.conf está configurado para aceitar conexões remotas.

Posso usar variáveis de ambiente para armazenar credenciais de banco de dados com segurança?

Sim, armazenar credenciais como variáveis de ambiente é uma prática mais segura do que codificá-las. Você pode acessá-los em Python usando os.environ:

import os
conn = psycopg2.connect(
    database=os.environ["DB_NAME"],
    user=os.environ["DB_USER"],
    password=os.environ["DB_PASSWORD"],
    host=os.environ["DB_HOST"],
    port=os.environ["DB_PORT"]
)

Use ferramentas como .env arquivos com python-dotenv para gerenciar isso localmente.

Como posso evitar ataques de injeção de SQL ao usar o psycopg2?

Sempre use consultas parametrizadas em vez de formatação de cadeia de caracteres ao inserir dados do usuário:

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES (%s, %s, %s)",
            ('Course Name', 'Instructor', 'Topic'))

Isso evita que usuários mal-intencionados injetem códigos SQL prejudiciais em suas consultas.

Como faço para atualizar várias linhas de uma vez no psycopg2?

Você pode usar o método executemany() para inserir ou atualizar várias linhas de forma eficiente:

courses = [
    ('Course A', 'Instructor A', 'Python'),
    ('Course B', 'Instructor B', 'R')
]
cur.executemany("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES (%s, %s, %s)", courses)

Quais tipos de dados estão disponíveis no PostgreSQL e como eles são mapeados para o Python?

Aqui estão alguns tipos de dados comuns do PostgreSQL e seus equivalentes em Python:

Tipo de PostgreSQL Equivalente a Python
INTEGER int
VARCHAR, TEXT str
BOOLEAN bool
DATA, CARIMBO DE DATA/HORA datetime.date, datetime.datetime
NUMERIC decimal.Decimal

Como posso exportar dados do PostgreSQL para um CSV usando Python?

Você pode usar o método copy_expert() com um comando SQL COPY:

with open('courses.csv', 'w') as f:
    cur.copy_expert("COPY datacamp_courses TO STDOUT WITH CSV HEADER", f)

Isso é útil para criar backups ou exportar dados para análise.

Posso usar o Jupyter Notebook para executar esses comandos Python-PostgreSQL?

Com certeza! O psycopg2 funciona perfeitamente no Jupyter. Apenas certifique-se de que a conexão com o banco de dados seja fechada corretamente após as consultas, pois as sessões do Jupyter podem permanecer abertas e consumir recursos.

Qual é a melhor maneira de depurar as consultas SQL que falham em Python?

Você pode:

  • Imprima a consulta e os parâmetros antes da execução.
  • Use os logs do PostgreSQL para obter mais detalhes.
  • Habilite o registro em psycopg2 configurando connection.set_isolation_level() ou usando o modo echo do SQLAlchemy se você estiver usando essa interface.

Javier Canales Luna's photo
Author
Javier Canales Luna
LinkedIn

Sou analista de dados freelancer, colaborando com empresas e organizações em todo o mundo em projetos de ciência de dados. Também sou instrutor de ciência de dados com mais de 2 anos de experiência. Escrevo regularmente artigos relacionados à ciência de dados em inglês e espanhol, alguns dos quais foram publicados em sites consagrados, como DataCamp, Towards Data Science e Analytics Vidhya Como cientista de dados com formação em ciência política e direito, meu objetivo é trabalhar na interação de políticas públicas, direito e tecnologia, aproveitando o poder das ideias para promover soluções e narrativas inovadoras que possam nos ajudar a enfrentar desafios urgentes, como a crise climática. Eu me considero uma pessoa autodidata, um aprendiz constante e um firme defensor da multidisciplinaridade. Nunca é tarde demais para aprender coisas novas.

Tópicos

Saiba mais sobre Python

Curso

Introduction to Python

4 h
6.3M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

blog

Certificação PostgreSQL: Tudo o que você precisa saber

Navegue pela certificação PostgreSQL com a DataCamp. Obtenha habilidades especializadas, conhecimento prático e um caminho para o domínio dos dados.
Matt Crabtree's photo

Matt Crabtree

10 min

blog

Mais de 60 projetos Python para todos os níveis de conhecimento

60 ideias de projetos de ciência de dados que os cientistas de dados podem usar para criar um portfólio sólido, independentemente de sua especialização.
Bekhruz Tuychiev's photo

Bekhruz Tuychiev

15 min

blog

As 45 principais perguntas da entrevista sobre PostgreSQL para todos os níveis

Está se candidatando a um emprego que exige fluência em PostgreSQL? Prepare-se para o processo de entrevista com esta lista abrangente de perguntas sobre o PostgreSQL
Javier Canales Luna's photo

Javier Canales Luna

15 min

Tutorial

Tutorial de como executar consultas SQL em Python e R

Aprenda maneiras fáceis e eficazes de executar consultas SQL em Python e R para análise de dados e gerenciamento de bancos de dados.
Abid Ali Awan's photo

Abid Ali Awan

13 min

SQLAlchemy_Tutorial.

Tutorial

Tutorial de SQLAlchemy com exemplos

Aprenda a acessar e executar consultas SQL em todos os tipos de bancos de dados relacionais usando objetos Python.
Abid Ali Awan's photo

Abid Ali Awan

13 min

Tutorial

Como usar SQL no pandas Usando consultas pandasql

Liberte o poder do SQL no pandas e saiba quando e como usar consultas SQL no pandas usando a biblioteca pandasql para uma integração perfeita.
Elena Kosourova's photo

Elena Kosourova

8 min

Ver maisVer mais