So speichern sie pandas dataframe zur späteren verwendung (mit beispiel)


Häufig möchten Sie möglicherweise einen Pandas-DataFrame zur späteren Verwendung speichern, ohne die Daten erneut aus einer CSV-Datei importieren zu müssen.

Der einfachste Weg, dies zu tun, besteht darin, to_pickle() zu verwenden, um den DataFrame als Pickle-Datei zu speichern:

 df. to_pickle (" my_data.pkl ")

Dadurch wird der DataFrame in Ihrer aktuellen Arbeitsumgebung gespeichert.

Sie können dann read_pickle() verwenden, um den DataFrame schnell aus der Pickle-Datei zu lesen:

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

Das folgende Beispiel zeigt, wie Sie diese Funktionen in der Praxis nutzen können.

Beispiel: Speichern und laden Sie den Pandas DataFrame

Angenommen, wir erstellen den folgenden Pandas-DataFrame, der Informationen über verschiedene Basketballteams enthält:

 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

Wir können df.info() verwenden, um den Datentyp jeder Variablen im DataFrame anzuzeigen:

 #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

Wir können die Funktion to_pickle() verwenden, um diesen DataFrame in einer Pickle-Datei mit der Erweiterung .pkl zu speichern:

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

Unser DataFrame ist jetzt als Pickle-Datei in unserer aktuellen Arbeitsumgebung gespeichert.

Anschließend können wir die Funktion read_pickle() verwenden, um den DataFrame schnell zu lesen:

 #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

Wir können df.info() erneut verwenden, um zu bestätigen, dass der Datentyp jeder Spalte derselbe ist wie zuvor:

 #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

Der Vorteil der Verwendung von Pickle-Dateien besteht darin, dass der Datentyp jeder Spalte erhalten bleibt, wenn wir den DataFrame speichern und laden.

Dies bietet einen Vorteil gegenüber dem Speichern und Laden von CSV-Dateien, da wir keine Transformationen am DataFrame durchführen müssen, da die Pickle-Datei den ursprünglichen Zustand des DataFrame beibehält.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Fehler in Python beheben:

So beheben Sie KeyError in Pandas
So beheben Sie: ValueError: Float NaN kann nicht in int konvertiert werden
So beheben Sie: ValueError: Operanden konnten nicht mit Formen übertragen werden

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert