Cosa ci ha portato Pandas 1.0

Cosa ci ha portato Pandas 1.0

Il 9 gennaio è stata rilasciata Pandas 1.0.0rc. La versione precedente della libreria era la 0.25.

Il primo rilascio maggiore contiene molte nuove funzionalità straordinarie, tra cui un migliore riepilogo automatico dei DataFrame, più formati di output, nuovi tipi di dati e persino un nuovo sito di documentazione.

Tutte le modifiche possono essere visualizzate qui, in questo articolo ci limiteremo a una piccola panoramica meno tecnica di ciò che è più importante.

Puoi installare la libreria come al solito usando pip, ma poiché al momento della scrittura dell'articolo Pandas 1.0 è ancora release candidate, sarà necessario specificare esplicitamente la versione:

pip install --upgrade pandas==1.0.0rc0

Fai attenzione: poiché il rilascio è maggiore, l'aggiornamento potrebbe rompere il vecchio codice!

A proposito, con questa versione è stata completamente interrotta la supporto per Python 2 (che potrebbe essere un buon motivo per aggiornarsi — nota del traduttore.). Pandas 1.0 richiede almeno Python 3.6+, quindi se non sei sicuro, controlla quale versione hai installato:

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

$ python --version
Python 3.7.5

Controllare la versione di Pandas è più facile in questo modo:

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

Migliore autossummazione con DataFrame.info

La mia novità preferita è stata l'aggiornamento del metodo DataFrame.info. La funzione è diventata molto più leggibile, il che rende il processo di esplorazione dei dati ancora più semplice:

>>> df = pd.DataFrame({
...:   'A': [1,2,3], 
...:   'B': ["goodbye", "cruel", "world"], 
...:   'C': [False, True, False]
...:})
>>> df.info()

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

Esportare tabelle in formato Markdown

Un'altra novità interessante è la possibilità di esportare i data frame in tabelle Markdown utilizzando DataFrame.to_markdown.

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

Questo semplifica notevolmente la pubblicazione delle tabelle su siti come Medium utilizzando github gists.

Cosa ci ha portato Pandas 1.0

Nuovi tipi per stringhe e valori booleani

Nella release di Pandas 1.0 sono stati aggiunti anche nuovi sperimentali tipi. La loro API può ancora cambiare, quindi usateli con cautela. Ma in generale, Pandas consiglia di utilizzare nuovi tipi ovunque abbia senso.

Per ora, il casting deve essere eseguito esplicitamente:

>>> B = pd.Series(["addio", "crudele", "mondo"], dtype="string")
>>> C = pd.Series([False, True, False], dtype="bool")
>>> df.B = B, df.C = C
>>> df.info()

RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
 #   Colonna  Conteggio Non Nullo  Tipo
---  ------  --------------------  -----
 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)
memoria usata: 200.0+ bytes

Nota come la colonna Dtype mostra i nuovi tipi — stringabool.

Una delle caratteristiche più utili del nuovo tipo di stringa è la possibilità di selezionare solo colonne stringa da DataFrame. Questo può semplificare notevolmente l'analisi dei dati testuali:

df.select_dtypes("string")

In precedenza, non era possibile selezionare le colonne di stringa senza specificare esplicitamente i nomi.

Per saperne di più sui nuovi tipi, puoi leggere qui.

Grazie per aver letto! Puoi consultare l'elenco completo delle modifiche come già detto qui.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster