Come convertire un oggetto in un float in pandas (con esempi)


È possibile utilizzare uno dei seguenti metodi per convertire una colonna di un DataFrame panda da oggetto a float:

Metodo 1: utilizzare astype()

 df[' column_name '] = df[' column_name ']. astype (float)

Metodo 2: utilizzare to_numeric()

 df[' column_name '] = pd. to_numeric (df[' column_name '])

Entrambi i metodi producono lo stesso risultato.

Gli esempi seguenti mostrano come utilizzare ciascun metodo con i seguenti DataFrame panda:

 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

Metodo 1: utilizzare astype() per convertire un oggetto in un float

Il codice seguente mostra come utilizzare la funzione astype() per convertire la colonna point del DataFrame di un oggetto in un 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

Tieni presente che la colonna dei punti ora ha un tipo di dati float64 .

Metodo 2: utilizzare to_numeric() per convertire un oggetto in un float

Il codice seguente mostra come utilizzare la funzione to_numeric() per convertire la colonna point del DataFrame di un oggetto in un 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

Tieni presente che la colonna dei punti ora ha un tipo di dati float64 .

Tieni inoltre presente che questo metodo produce esattamente lo stesso risultato del metodo precedente.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:

Come convertire valori booleani in valori interi in Panda
Come convertire DateTime in stringa in Pandas
Come convertire le colonne in numeri interi in Pandas

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *