Como converter um objeto em um flutuador no pandas (com exemplos)
Você pode usar um dos seguintes métodos para converter uma coluna de um DataFrame do pandas de objeto para flutuante:
Método 1: use astype()
df[' column_name '] = df[' column_name ']. astype (float)
Método 2: use to_numeric()
df[' column_name '] = pd. to_numeric (df[' column_name '])
Ambos os métodos produzem o mesmo resultado.
Os exemplos a seguir mostram como usar cada método com o seguinte DataFrame do pandas:
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
Método 1: Use astype() para converter um objeto em um float
O código a seguir mostra como usar a função astype() para converter a coluna de pontos do DataFrame de um objeto em um float:
#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
Observe que a coluna de pontos agora possui um tipo de dados float64 .
Método 2: Use to_numeric() para converter um objeto em um float
O código a seguir mostra como usar a função to_numeric() para converter a coluna de pontos do DataFrame de um objeto em um float:
#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
Observe que a coluna de pontos agora possui um tipo de dados float64 .
Observe também que este método produz exatamente o mesmo resultado que o método anterior.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:
Como converter valores booleanos em valores inteiros no Pandas
Como converter DateTime em string no Pandas
Como converter colunas em inteiros no Pandas