O que o Pandas 1.0 nos trouxe

O que o Pandas 1.0 nos trouxe

Em 9 de janeiro, o Pandas 1.0.0rc foi lançado. A versão anterior da biblioteca é 0.25.

A primeira grande versão contém muitos novos recursos excelentes, incluindo resumo automático aprimorado de dataframe, mais formatos de saída, novos tipos de dados e até mesmo um novo site de documentação.

Todas as alterações podem ser visualizadas aqui, no artigo nos limitaremos a uma pequena revisão e menos técnica das coisas mais importantes.

Você pode instalar a biblioteca normalmente usando pip, mas como no momento em que este artigo foi escrito, o Pandas 1.0 ainda era Release Candidate, você precisará especificar explicitamente a versão:

pip install --upgrade pandas==1.0.0rc0

Tenha cuidado: como este é um lançamento importante, a atualização pode quebrar o código antigo!

A propósito, o suporte para Python 2 foi completamente descontinuado desde esta versão (qual poderia ser um bom motivo atualizar - Aproximadamente. tradução). O Pandas 1.0 requer pelo menos Python 3.6+, então se você não tiver certeza, verifique qual deles você instalou:

$ pip --version
pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

$ python --version
Python 3.7.5

A maneira mais fácil de verificar a versão do Pandas é esta:

>>> import pandas as pd
>>> pd.__version__
1.0.0rc0

Resumo automático aprimorado com DataFrame.info

Minha inovação favorita foi a atualização do método DataFrame.info. A função ficou muito mais legível, facilitando ainda mais o processo de exploração de dados:

>>> df = pd.DataFrame({
...:   'A': [1,2,3], 
...:   'B': ["goodbye", "cruel", "world"], 
...:   'C': [False, True, False]
...:})
>>> df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   A       3 non-null      int64
 1   B       3 non-null      object
 2   C       3 non-null      object
dtypes: int64(1), object(2)
memory usage: 200.0+ bytes

Gerando tabelas no formato Markdown

Uma inovação igualmente agradável é a capacidade de exportar dataframes para tabelas Markdown usando DataFrame.to_markdown.

>>> df.to_markdown()
|    |   A | B       | C     |
|---:|----:|:--------|:------|
|  0 |   1 | goodbye | False |
|  1 |   2 | cruel   | True  |
|  2 |   3 | world   | False |

Isso torna muito mais fácil publicar tabelas em sites como o Medium usando o GitHub Gists.

O que o Pandas 1.0 nos trouxe

Novos tipos para strings e booleanos

A versão Pandas 1.0 também adicionou novos experimental tipos. A API deles ainda pode mudar, portanto, use-a com cuidado. Mas, em geral, Pandas recomenda usar novos tipos sempre que fizer sentido.

Por enquanto, a conversão precisa ser feita explicitamente:

>>> B = pd.Series(["goodbye", "cruel", "world"], dtype="string")
>>> C = pd.Series([False, True, False], dtype="bool")
>>> df.B = B, df.C = C
>>> df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   A       3 non-null      int64
 1   B       3 non-null      string
 2   C       3 non-null      bool
dtypes: int64(1), object(1), string(1)
memory usage: 200.0+ bytes

Observe como a coluna Tipo D exibe novos tipos - corda и bool.

O recurso mais útil do novo tipo de string é a capacidade de selecionar apenas colunas de linha de quadros de dados. Isso pode tornar a análise de dados de texto muito mais fácil:

df.select_dtypes("string")

Anteriormente, as colunas de linha não podiam ser selecionadas sem especificar nomes explicitamente.

Você pode ler mais sobre novos tipos aqui.

Obrigado por ler! A lista completa de alterações, conforme já mencionado, pode ser visualizada aqui.

Fonte: habr.com

Adicionar um comentário