Een object in panda's naar een float converteren (met voorbeelden)
U kunt een van de volgende methoden gebruiken om een kolom van een panda’s DataFrame van object naar zwevend object te converteren:
Methode 1: Gebruik astype()
df[' column_name '] = df[' column_name ']. astype (float)
Methode 2: Gebruik to_numeric()
df[' column_name '] = pd. to_numeric (df[' column_name '])
Beide methoden leveren hetzelfde resultaat op.
De volgende voorbeelden laten zien hoe u elke methode kunt gebruiken met de volgende panda’s DataFrame:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': ['18', '22.2', '19.1', '14', '14', '11.5', '20', '28'], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4]}) #view DataFrame print (df) team points assists 0 to 18 5 1 B 22.2 7 2 C 19.1 7 3 D 14 9 4 E 14 12 5 F 11.5 9 6 G 20 9 7:28 a.m. 4 #check data type of each column print ( df.dtypes ) team object points object assists int64 dtype:object
Methode 1: Gebruik astype() om een object naar een float te converteren
De volgende code laat zien hoe u de functie astype() gebruikt om de puntkolom van het DataFrame van een object naar een float te converteren:
#convert points column from object to float
df[' points '] = df[' points ']. astype (float)
#view updated DataFrame
print (df)
team points assists
0 A 18.0 5
1 B 22.2 7
2 C 19.1 7
3D 14.0 9
4 E 14.0 12
5 F 11.5 9
6G 20.0 9
7 A.M. 28.0 4
#view updated data types
print ( df.dtypes )
team object
float64 points
assists int64
dtype:object
Merk op dat de puntenkolom nu het gegevenstype float64 heeft.
Methode 2: Gebruik to_numeric() om een object naar een float te converteren
De volgende code laat zien hoe u de functie to_numeric() gebruikt om de puntkolom van het DataFrame van een object naar een float te converteren:
#convert points column from object to float
df[' points '] = pd. to_numeric (df[' points '], errors=' coerce ')
#view updated DataFrame
print (df)
team points assists
0 A 18.0 5
1 B 22.2 7
2 C 19.1 7
3D 14.0 9
4 E 14.0 12
5 F 11.5 9
6G 20.0 9
7 A.M. 28.0 4
#view updated data types
print ( df.dtypes )
team object
float64 points
assists int64
dtype:object
Merk op dat de puntenkolom nu het gegevenstype float64 heeft.
Merk ook op dat deze methode exact hetzelfde resultaat oplevert als de vorige methode.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:
Hoe Booleaanse waarden naar gehele waarden in Panda’s te converteren
Hoe DateTime naar string te converteren in Pandas
Hoe kolommen naar gehele getallen in Panda’s te converteren