Cosa ci ha portato Pandas 1.0

Cosa ci ha portato Pandas 1.0

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 qui, 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.0rc0

Fate 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 per aggiornarsi — 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.5

Controllare la versione di Pandas è molto semplice così:

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

Autosommatoria 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+ bytes

Output 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.

Cosa ci ha portato Pandas 1.0

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+ bytes

Fai attenzione a come la colonna Dtype mostra i nuovi tipi — stringbool.

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 qui.

Grazie per aver letto! Puoi vedere l'elenco completo delle modifiche, come già accennato, qui.

Fonte: habr.com

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