
Il 9 gennaio è stata rilasciata la versione Pandas 1.0.0rc. La versione precedente della libreria è 0.25.
Il primo rilascio major contiene numerose fantastiche novità, tra cui un miglioramento dell'autosommatoria dei dataframe, più formati di output, nuovi tipi di dati e persino un nuovo sito di documentazione.
Tutte le modifiche possono essere visualizzate , ma nell'articolo ci limiteremo a una piccola panoramica meno tecnica delle cose principali.
È possibile installare la libreria come al solito tramite 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.0rc0Fate attenzione: poiché si tratta di un rilascio major, l'aggiornamento potrebbe rompere il codice esistente!
A proposito, con questa versione è terminato il supporto completo per Python 2 (il che può essere una buona scusa — nota dell'autore.). Pandas 1.0 richiede almeno Python 3.6+, quindi se non siete sicuri, verificate quale versione avete installato:
$ pip --version
pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
$ python --version
Python 3.7.5Controllare la versione di Pandas è molto semplice così:
>>> import pandas as pd
>>> pd.__version__
1.0.0rc0Autosommatoria migliorata con DataFrame.info
La mia novità preferita è l'aggiornamento del metodo DataFrame.info. La funzione è diventata molto più leggibile, rendendo il processo di esplorazione dei dati ancora più semplice:
>>> df = pd.DataFrame({
...: 'A': [1,2,3],
...: 'B': ["addio", "crudele", "mondo"],
...: '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+ bytesOutput delle tabelle in formato Markdown
Un'altra novità molto apprezzata è la possibilità di esportare dataframe in tabelle Markdown usando DataFrame.to_markdown.
>>> df.to_markdown()
| | A | B | C |
|---:|----:|:--------|:------|
| 0 | 1 | addio | False |
| 1 | 2 | crudele | True |
| 2 | 3 | mondo | False |Questo semplifica molto la pubblicazione delle tabelle su siti come Medium utilizzando github gists.

Nuovi tipi per stringhe e valori booleani
Nel rilascio di Pandas 1.0 sono stati aggiunti anche nuovi tipi sperimentali. La loro API potrebbe ancora cambiare, quindi usateli con cautela. Tuttavia, in generale, Pandas raccomanda di utilizzare i nuovi tipi ovunque abbia senso.
Per ora, il cast deve essere fatto 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):
# 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+ bytesFai attenzione a come la colonna Dtype mostra i nuovi tipi — string e bool.
Una delle caratteristiche più utili del nuovo tipo di stringa è la possibilità di selezionare solo colonne stringa da data frame. Questo può semplificare notevolmente l'analisi dei dati testuali:
df.select_dtypes("string")In precedenza, le colonne di stringhe non potevano essere selezionate senza specificare esplicitamente i nomi.
Puoi leggere di più sui nuovi tipi .
Grazie per aver letto! Puoi vedere l'elenco completo delle modifiche, come già accennato, .
Fonte: habr.com
