Pandas : Comment convertir un objet en entier



Vous pouvez utiliser la syntaxe suivante pour convertir une colonne d’un DataFrame pandas d’un objet en un entier :

df['object_column'] = df['int_column'].astype(str).astype(int)

Les exemples suivants montrent comment utiliser cette syntaxe en pratique avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E'],
                   'points': ['25', '27', '14', '17', '20'],
                   'assists': ['5', '7', '10', '8', '9']})

#view data types for each column
df.dtypes

player     object
points     object
assists    object
dtype: object

Exemple 1 : convertir une colonne d’objet en entier

Le code suivant montre comment convertir la colonne de points d’un objet en un entier :

#convert 'points' column to integer
df['points'] = df['points'].astype(str).astype(int)

#view data types of each column
df.dtypes

player     object
points      int32
assists    object
dtype: object

Nous pouvons voir que la colonne des points est désormais un nombre entier, alors que toutes les autres colonnes sont restées inchangées.

Exemple 2 : convertir plusieurs colonnes en nombre entier

Le code suivant montre comment convertir plusieurs colonnes d’un DataFrame d’un objet en un entier :

#convert 'points' and 'assists' columns to integer
df[['points', 'assists']] = df[['points', 'assists']].astype(str).astype(int)

#view data types for each column
df.dtypes

player     object
points      int32
assists     int32
dtype: object

Nous pouvons voir que les colonnes de points et d’assistances ont toutes deux été converties d’objets en nombres entiers.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres conversions courantes dans les pandas :

Comment convertir les colonnes Pandas DataFrame en chaînes
Comment convertir l’horodatage en date/heure dans Pandas
Comment convertir DateHeure en date dans Pandas

Ajouter un commentaire

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