Comment convertir un objet en flotteur dans Pandas (avec exemples)



Vous pouvez utiliser l’une des méthodes suivantes pour convertir une colonne d’un DataFrame pandas d’objet en flottant :

Méthode 1 : utilisez astype()

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

Méthode 2 : utilisez to_numeric()

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

Les deux méthodes produisent le même résultat.

Les exemples suivants montrent comment utiliser chaque méthode avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
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    A     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    H     28        4

#check data type of each column
print(df.dtypes)

team       object
points     object
assists     int64
dtype: object

Méthode 1 : utilisez astype() pour convertir un objet en flotteur

Le code suivant montre comment utiliser la fonction astype() pour convertir la colonne de points du DataFrame d’un objet en flottant :

#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
3    D    14.0        9
4    E    14.0       12
5    F    11.5        9
6    G    20.0        9
7    H    28.0        4

#view updated data types
print(df.dtypes)

team        object
points     float64
assists      int64
dtype: object

Notez que la colonne points a désormais un type de données float64 .

Méthode 2 : utilisez to_numeric() pour convertir un objet en flotteur

Le code suivant montre comment utiliser la fonction to_numeric() pour convertir la colonne de points du DataFrame d’un objet en flottant :

#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
3    D    14.0        9
4    E    14.0       12
5    F    11.5        9
6    G    20.0        9
7    H    28.0        4

#view updated data types
print(df.dtypes)

team        object
points     float64
assists      int64
dtype: object

Notez que la colonne points a désormais un type de données float64 .

Notez également que cette méthode produit exactement le même résultat que la méthode précédente.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Comment convertir des valeurs booléennes en valeurs entières dans Pandas
Comment convertir DateTime en chaîne dans Pandas
Comment convertir des colonnes en entiers dans Pandas

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *