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