Pular para o conteúdo principal

Pandas 2.0: o que há de novo e dicas imperdíveis

Mergulhe no pandas 2.0, a mais recente atualização da biblioteca essencial para análise de dados, com recursos como integração com PyArrow, tipos de dados anuláveis e datetime além de nanossegundos para mais desempenho e eficiência.
Atualizado 17 de set. de 2026  · 9 min lido

Explorar com IA

ChatGPTClaudePerplexity

A análise de dados costuma depender bastante da biblioteca indispensável pandas. Ela oferece estruturas de dados fáceis de usar e funções de manipulação que permitem trabalhar de forma eficiente com conjuntos de dados tabulares. Com pandas, você importa, limpa, transforma e agrega dados de várias fontes, como arquivos CSV, planilhas do Excel, bancos de dados SQL e muito mais.

Se você quer aprender a importar e limpar dados, calcular estatísticas e criar visualizações com pandas, confira nosso curso Data Manipulation with pandas.

Neste tutorial, vamos explorar a versão mais recente da biblioteca pandas, apresentando os novos recursos com exemplos práticos de uso.

A tão esperada atualização pandas 2.0 chegou

O pandas 2.0 foi lançado em 3 de abril de 2023, após três anos de desenvolvimento. Esta versão traz vários recursos novos, como suporte aprimorado a extension arrays, DataFrames com suporte a PyArrow e resolução de datetime além de nanossegundos. Porém, ela também aplica depreciações, resultando em mudanças na API.

Como uma atualização importante do Pandas, a versão 2.0 implementa todas as depreciações da linha 1.X. O lançamento mais recente, 1.5.3, tinha cerca de 150 avisos. Se o seu código não apresenta avisos na 1.X, ele deve ser compatível com a 2.0.

Os novos recursos do pandas 2.0

Veja o que há de novo no pandas 2.0 e como usar alguns dos recursos aprimorados.

Desempenho melhor: operações mais rápidas e eficientes em memória

O PyArrow pode ser considerado o grande destaque deste lançamento.

O pandas foi desenvolvido inicialmente usando estruturas de dados do NumPy para gerenciamento de memória, mas agora você pode optar por utilizar o PyArrow como formato de memória subjacente.

PyArrow é uma biblioteca Python (construída sobre o Arrow) que fornece uma interface para lidar com grandes volumes de dados usando as estruturas de memória do Arrow, além de ferramentas de serialização, compressão e integração com outros sistemas de processamento de dados como Apache Spark e Apache Parquet.

Arrow é um formato de dados colunar, de código aberto e independente de linguagem, para representar dados em memória. Ele é escrito em C++, mas é agnóstico em relação à linguagem.

O uso ineficiente de memória causado pelo back-end original do NumPy é um problema comum que leva muitos usuários a buscar ferramentas alternativas de processamento de dados, como Spark, Dask, Ray etc. Ao reduzir o consumo de memória com o back-end do PyArrow, o pandas agora oferece uma experiência mais enxuta e permite trabalhar com mais eficiência.

Benchmarks comparando operações de mean e replace usando os back-ends do NumPy e do PyArrow, além do Polars 

Gráfico do pandas

Polars é uma biblioteca de manipulação de dados em Rust para Python que oferece uma API de DataFrame semelhante ao pandas, mas com desempenho e escalabilidade superiores para grandes conjuntos de dados. Para saber mais sobre a biblioteca Polars, confira o site oficial.

Aqui está um trecho de código para ler um arquivo CSV usando o PyArrow como back-end:

pd.read_csv(my_file, dytpe_backend='pyarrow')

Se você quer aprender técnicas eficientes em pandas para otimizar seu código em Python, confira o curso Writing Efficient Code with pandas na DataCamp.

Tipos de dados anuláveis agora são possíveis

Lidar com valores ausentes no pandas já foi desafiador por conta da falta de suporte do NumPy a nulos em alguns tipos de dados. Por exemplo, dtypes inteiros do NumPy não permitem valores nulos. Quando um valor nulo era inserido em uma coluna inteira, a coluna era automaticamente convertida para dtype float, o que não é ideal.

O pandas 1.0 introduziu dtypes anuláveis, mas exigia certo esforço para utilizá-los. Com a versão mais recente, ao ler dados em um DataFrame, você pode especificar o uso de dtypes anuláveis, deixando o processo bem mais simples.

pd.read_csv(my_file, use_nullable_dtypes=True)

Copy-on-Write para ganho de desempenho

Copy-on-Write é uma técnica de otimização de memória usada pelo pandas para aumentar o desempenho e reduzir o consumo de memória ao lidar com grandes volumes de dados. Isso aproxima o pandas do Spark no modo como operações preguiçosas são realizadas. Operações preguiçosas são aquelas que não executam imediatamente, esperando até que uma ação seja chamada para disparar o cálculo. Elas são "preguiçosas" porque adiam a execução até ser necessário computar e retornar o resultado final.

A ideia básica é gerar uma referência aos dados originais ao criar uma cópia de um objeto do pandas, como um DataFrame ou Series, e só criar uma nova cópia quando houver alguma modificação.

Essa abordagem permite que várias cópias do mesmo dado acessem a mesma memória até que ocorram mudanças, eliminando cópias redundantes, reduzindo significativamente o uso de memória e, assim, melhorando o desempenho.

Tipos numéricos do NumPy suportados por Index

No pandas 2.0, o recurso Index foi expandido para incluir dtypes numéricos do NumPy, como int8, int16, int32, uint8, uint16, uint32, uint64, float32 e float64; antes, apenas int64, uint64 e float64 eram suportados.

Essa atualização permite criar índices com tamanhos de bits menores, por exemplo, índices de 32 bits, em operações que antes produziam índices de 64 bits.

Agora, todos os índices numéricos são representados como Index com um dtype associado.

Instalando extras do pip

Ao especificar extras durante a instalação do pandas com pip, você pode instalar conjuntos adicionais de dependências opcionais. Por exemplo:

pip install "pandas[performance, aws]>=2.0.0"

Isso instalará as dependências opcionais performance e aws. O guia de instalação do pandas traz a lista de extras disponíveis. Inclui: [all, performance, computation, fss, aws, gcp, excel, parquet, feather, hdf5, spss, postgresql, mysql, sql-other, html, xml, plot, output_formatting, clipboard, compression e test]. Não se esqueça de adicionar aspas (" ).

Resolução além de nanossegundos em Timestamps

Por muito tempo, o pandas tinha a limitação de representar timestamps apenas com resolução em nanossegundos. Isso impedia representar datas anteriores a 21 de setembro de 1677 ou posteriores a 11 de abril de 2264. Essa limitação atrapalhava pesquisas que analisavam séries temporais por longos períodos.

Com o lançamento do pandas 2.0, foi adicionado suporte a outras resoluções, como segundo, milissegundo e microssegundo. Esse aprimoramento permite intervalos de tempo de até +/- 2,9e11 anos, cobrindo a maioria dos casos de uso.

Formatação consistente no parsing de datetimes

Antes, a função to_datetime() no pandas inferia o formato de cada elemento de forma independente, o que podia ser problemático quando se esperava consistência, mas a função alternava formatos entre elementos.

Embora isso funcionasse quando havia formatos de data mistos, causava problemas para muitos usuários.

No pandas 2.0, o parsing passou a usar um formato consistente determinado pelo primeiro valor não-NA. Você ainda pode especificar um formato; nesse caso, ele será utilizado.

Comportamento antigo:

ser = pd.Series(['13-01-2000', '12-01-2000'])
pd.to_datetime(ser)
Out[2]:
0   2000-01-13
1   2000-12-01
dtype: datetime64[ns]

Novo comportamento:

ser = pd.Series(['13-01-2000', '12-01-2000'])

pd.to_datetime(ser)
Out[43]: 
0   2000-01-13
1   2000-01-12
dtype: datetime64[ns]

Exemplos reproduzidos da documentação oficial.

Compatibilidade e migração

Mudanças de API incompatíveis com versões anteriores são modificações na API de uma biblioteca que podem quebrar códigos ou integrações existentes. Isso pode incluir remoção ou renomeação de funções, classes ou parâmetros, ou alteração do comportamento esperado. Confira a lista de todas as breaking changes do pandas 2.0 na documentação de backward incompatible API changes.

Para atualizar a biblioteca pandas, basta executar este comando no seu terminal ou notebook:

pip install -U pandas

Comunidade e suporte

Confira as notas de lançamento completas do pandas 2.0

Você também pode usar nosso cheat sheet de pandas para data science como um guia rápido dos fundamentos da biblioteca de análise de dados em Python, com exemplos de código.

Cheat sheet de Python para data science

Cheat sheet da DataCamp. Fonte

Uma grande comunidade de contribuidores e um time menor de mantenedores desenvolvem coletivamente o pandas, um projeto open source impulsionado pela comunidade. A liderança do pandas está comprometida em construir uma comunidade positiva, inclusiva e aberta. Se você quer participar, confira o guia da comunidade de contribuidores do pandas.

Conclusão

O pandas 2.0 marca uma atualização importante na popular biblioteca de análise de dados, trazendo novidades como mais desempenho com PyArrow, tipos de dados anuláveis, otimização copy-on-write, suporte expandido a tipos numéricos do NumPy em índices e datetime com resolução além de nanossegundos.

Com essa atualização, o pandas consegue lidar com conjuntos de dados maiores usando memória de forma mais eficiente, oferecendo uma experiência mais fluida para o usuário.

Para aproveitar esses recursos, basta atualizar sua biblioteca pandas com o comando pip install -U pandas. A comunidade do pandas segue oferecendo suporte e recursos, incluindo cursos na DataCamp, para ajudar você a evoluir suas habilidades em análise de dados.

Aqui vão alguns tutoriais excelentes que podem ajudar na sua jornada para aprender análise de dados.

Tópicos
Python
Data Analysis

Principais cursos de pandas

Curso

Manipulação de dados com pandas

4 h
564.3K
Saiba como importar, tratar dados, calcular estatísticas e criar visualizações com o pandas.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

blog

Uma introdução aos polares: Ferramenta Python para análise de dados em grande escala

Explore o Polars, uma biblioteca Python robusta para manipulação e análise de dados de alto desempenho. Saiba mais sobre seus recursos, suas vantagens em relação ao pandas e como ele pode revolucionar seus processos de análise de dados.
Moez Ali's photo

Moez Ali

9 min

blog

O que há de novo no Python 3.11 e você deveria se preocupar com ele?

Aqui está nossa visão geral detalhada dos recursos mais importantes que estão chegando ao Python 3.11, incluindo como instalar a versão beta e quando você poderá colocar as mãos na versão estável oficial.

Tutorial

Perfilamento do Pandas (ydata-profiling) em Python: Um guia para iniciantes

Saiba como usar a biblioteca ydata-profiling em Python para gerar relatórios detalhados para conjuntos de dados com muitos recursos.
Satyam Tripathi's photo

Satyam Tripathi

9 min

data-frames-in-python-banner_cgzjxy.jpeg

Tutorial

Pandas Tutorial: DataFrames em Python

Explore a análise de dados com Python. Os DataFrames do Pandas facilitam a manipulação de seus dados, desde a seleção ou substituição de colunas e índices até a remodelagem dos dados.
Karlijn Willems's photo

Karlijn Willems

15 min

Tutorial

Tutorial do Python pandas: O guia definitivo para iniciantes

Você está pronto para começar sua jornada com os pandas? Aqui está um guia passo a passo sobre como você pode começar.
Vidhi Chugh's photo

Vidhi Chugh

15 min

Tutorial

21 ferramentas essenciais do Python

Aprenda sobre as ferramentas Python essenciais para o desenvolvimento de software, raspagem e desenvolvimento da Web, análise e visualização de dados e aprendizado de máquina.
Abid Ali Awan's photo

Abid Ali Awan

6 min

Ver MaisVer Mais