Come salvare pandas dataframe per un uso successivo (con esempio)


Spesso potresti voler salvare un DataFrame panda per un uso successivo senza dover reimportare i dati da un file CSV.

Il modo più semplice per farlo è usare to_pickle() per salvare DataFrame come file pickle:

 df. to_pickle (" my_data.pkl ")

Ciò salverà DataFrame nel tuo attuale ambiente di lavoro.

Puoi quindi utilizzare read_pickle() per leggere rapidamente il DataFrame dal file pickle:

 df = pd. read_pickle (" my_data.pkl ")

L’esempio seguente mostra come utilizzare queste funzioni nella pratica.

Esempio: salva e carica Pandas DataFrame

Supponiamo di creare il seguente DataFrame panda che contiene informazioni su varie squadre di basket:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

Possiamo usare df.info() per visualizzare il tipo di dati di ciascuna variabile nel DataFrame:

 #view DataFrame info
print ( df.info ())

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8 entries, 0 to 7
Data columns (total 4 columns):
 # Column Non-Null Count Dtype 
--- ------ -------------- ----- 
 0 team 8 non-null object
 1 point 8 non-null int64 
 2 assists 8 non-null int64 
 3 rebounds 8 non-null int64 
dtypes: int64(3), object(1)
memory usage: 292.0+ bytes
None

Possiamo usare la funzione to_pickle() per salvare questo DataFrame in un file pickle con estensione .pkl :

 #save DataFrame to pickle file
df. to_pickle (" my_data.pkl ")

Il nostro DataFrame è ora salvato come file pickle nel nostro attuale ambiente di lavoro.

Possiamo quindi utilizzare la funzione read_pickle() per leggere rapidamente il DataFrame:

 #read DataFrame from pickle file
df=pd. read_pickle (" my_data.pkl ")

#view DataFrame
print (df)

team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

Possiamo utilizzare nuovamente df.info() per confermare che il tipo di dati di ciascuna colonna è lo stesso di prima:

 #view DataFrame info
print ( df.info ())

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8 entries, 0 to 7
Data columns (total 4 columns):
 # Column Non-Null Count Dtype 
--- ------ -------------- ----- 
 0 team 8 non-null object
 1 point 8 non-null int64 
 2 assists 8 non-null int64 
 3 rebounds 8 non-null int64 
dtypes: int64(3), object(1)
memory usage: 292.0+ bytes
None

Il vantaggio dell’utilizzo dei file pickle è che il tipo di dati di ciascuna colonna viene preservato quando salviamo e carichiamo il DataFrame.

Ciò offre un vantaggio rispetto al salvataggio e al caricamento dei file CSV poiché non è necessario eseguire alcuna trasformazione sul DataFrame poiché il file pickle preserva lo stato originale del DataFrame.

Risorse addizionali

I seguenti tutorial spiegano come correggere altri errori comuni in Python:

Come correggere l’errore chiave nei Panda
Come risolvere il problema: ValueError: impossibile convertire float NaN in int
Come risolvere il problema: ValueError: non è stato possibile trasmettere gli operandi con le forme

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *