So ändern sie den spaltentyp in pandas (mit beispielen)
Die Spalten eines Pandas-DataFrames können einen der folgenden Typen annehmen:
- Objekt (Strings)
- int64 (Ganzzahlen)
- float64 (numerische Werte mit Dezimalstellen)
- bool (wahre oder falsche Werte)
- datetime64 (Datum und Uhrzeit)
Der einfachste Weg, eine Spalte von einem Datentyp in einen anderen zu konvertieren, ist die Verwendung der Funktion astype() .
Mit der Funktion astype() können Sie die folgenden Methoden verwenden, um Spalten von einem Datentyp in einen anderen zu konvertieren:
Methode 1: Konvertieren Sie eine Spalte in einen anderen Datentyp
df[' col1 '] = df[' col1 ']. astype (' int64 ')
Methode 2: Konvertieren Sie mehrere Spalten in einen anderen Datentyp
df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. astype (' int64 ')
Methode 3: Konvertieren Sie alle Spalten in einen anderen Datentyp
df = df. astype (' int64 ')
Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Pandas DataFrame verwendet wird:
import pandas as pd #createDataFrame df = pd. DataFrame ({' ID ': ['1', '2', '3', '4', '5', '6'], ' tenure ': [12.443, 15.8, 16.009, 5.06, 11.075, 12.9546], ' sales ': [5, 7, 7, 9, 12, 9]}) #view DataFrame print (df) ID tenure sales 0 1 12.4430 5 1 2 15.8000 7 2 3 16.0090 7 3 4 5.0600 9 4 5 11.0750 12 5 6 12.9546 9 #view data type of each column print ( df.dtypes ) object ID tenure float64 dirty int64 dtype:object
Beispiel 1: Konvertieren Sie eine Spalte in einen anderen Datentyp
Der folgende Code zeigt, wie Sie die Funktion astype() verwenden, um die Tenure- Spalte von einer Gleitkommazahl in eine Ganzzahl umzuwandeln:
#convert tenure column to int64
df[' tenure '] = df[' tenure ']. astype (' int64 ')
#view updated data type for each column
print ( df.dtypes )
object ID
tenure int64
dirty int64
dtype:object
Beachten Sie, dass die Tenure- Spalte in int64 konvertiert wurde, während alle anderen Spalten ihre ursprünglichen Datentypen beibehielten.
Beispiel 2: Konvertieren Sie mehrere Spalten in einen anderen Datentyp
Der folgende Code zeigt, wie Sie mit der Funktion astype() die ID- und Tenure- Spalten in Ganzzahlen konvertieren:
#convert ID and tenure columns to int64
df[[' ID ', ' tenure ']] = df[[' ID ', ' tenure ']]. astype (' int64 ')
#view updated data type for each column
print ( df.dtypes )
ID int64
tenure int64
dirty int64
dtype:object
Beachten Sie, dass die Spalten „ID“ und „Tenure“ in int64 konvertiert wurden.
Beispiel 3: Konvertieren Sie alle Spalten in einen anderen Datentyp
Der folgende Code zeigt, wie Sie mit der Funktion astype() alle Spalten im DataFrame in einen ganzzahligen Datentyp konvertieren:
#convert all columns to int64
df = df. astype (' int64 ')
#view updated data type for each column
print ( df.dtypes )
ID int64
tenure int64
dirty int64
dtype:object
Beachten Sie, dass alle Spalten in int64 konvertiert wurden.
Hinweis : Die vollständige Dokumentation der Pandas-Funktion astype() finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie andere gängige Konvertierungen in Pandas durchgeführt werden:
So konvertieren Sie Pandas DataFrame-Spalten in Zeichenfolgen
So konvertieren Sie den Zeitstempel in Pandas in Datum/Uhrzeit
So konvertieren Sie DateTime in Pandas in ein Datum
So konvertieren Sie Strings in Pandas in Float