Hoe u het kolomtype in panda's kunt wijzigen (met voorbeelden)


De kolommen van een Panda DataFrame kunnen een van de volgende typen hebben:

  • object (tekenreeksen)
  • int64 (gehele getallen)
  • float64 (numerieke waarden met decimalen)
  • bool (waar of onwaar waarden)
  • datetime64 (datums en tijden)

De eenvoudigste manier om een kolom van het ene gegevenstype naar het andere te converteren, is door de functie astype() te gebruiken.

U kunt de volgende methoden gebruiken met de functie astype() om kolommen van het ene gegevenstype naar het andere te converteren:

Methode 1: Converteer een kolom naar een ander gegevenstype

 df[' col1 '] = df[' col1 ']. astype (' int64 ')

Methode 2: Converteer meerdere kolommen naar een ander gegevenstype

 df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. astype (' int64 ')

Methode 3: Converteer alle kolommen naar een ander gegevenstype

 df = df. astype (' int64 ')

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met de volgende panda’s DataFrame:

 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

Voorbeeld 1: Converteer een kolom naar een ander gegevenstype

De volgende code laat zien hoe u de functie astype() gebruikt om de tenure- kolom van een float naar een geheel getal te converteren:

 #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

Merk op dat de tenure- kolom werd geconverteerd naar int64, terwijl alle andere kolommen hun oorspronkelijke gegevenstypen behielden.

Voorbeeld 2: Converteer meerdere kolommen naar een ander gegevenstype

De volgende code laat zien hoe u de functie astype() gebruikt om de ID- en tenure- kolommen naar gehele getallen te converteren:

 #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

Merk op dat de ID- en tenure- kolommen zijn geconverteerd naar int64.

Voorbeeld 3: Converteer alle kolommen naar een ander gegevenstype

De volgende code laat zien hoe u de functie astype() gebruikt om alle kolommen in het DataFrame te converteren naar een gegevenstype met gehele getallen:

 #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

Merk op dat alle kolommen zijn geconverteerd naar int64.

Opmerking : u kunt de volledige documentatie van de pandas astype() -functie hier vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende conversies in panda’s kunt uitvoeren:

Hoe Pandas DataFrame-kolommen naar strings te converteren
Hoe tijdstempel naar datum/tijd in Panda’s te converteren
Hoe DateTime naar datum te converteren in Pandas
Hoe tekenreeksen te converteren naar zwevend in Panda’s

Einen Kommentar hinzufügen

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