Comment convertir des valeurs booléennes en valeurs entières dans Pandas



Vous pouvez utiliser la syntaxe de base suivante pour convertir une colonne de valeurs booléennes en une colonne de valeurs entières dans pandas :

df.column1 = df.column1.replace({True: 1, False: 0})

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : convertir un booléen en entier dans Pandas

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
                   'points': [18, 22, 19, 14, 14, 11, 20],
                   'playoffs': [True, False, False, False, True, False, True]})

#view DataFrame
df

Nous pouvons utiliser des dtypes pour vérifier rapidement le type de données de chaque colonne :

#check data type of each column
df.dtypes

team        object
points       int64
playoffs      bool
dtype: object

On voit que la colonne ‘playoffs’ est de type boolean .

Nous pouvons utiliser le code suivant pour convertir rapidement les valeurs Vrai/Faux de la colonne « playoffs » en valeurs entières 1/0 :

#convert 'playoffs' column to integer
df.playoffs = df.playoffs.replace({True: 1, False: 0})

#view updated DataFrame
df

	team	points	playoffs
0	A	18	1
1	B	22	0
2	C	19	0
3	D	14	0
4	E	14	1
5	F	11	0
6	G	20	1

Chaque valeur True a été convertie en 1 et chaque valeur False a été convertie en 0 .

Nous pouvons à nouveau utiliser dtypes pour vérifier que la colonne ‘playoffs’ est désormais un entier :

#check data type of each column
df.dtypes

team        object
points       int64
playoffs     int64
dtype: object

Nous pouvons voir que la colonne ‘playoffs’ est désormais de type int64 .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Comment convertir une variable catégorielle en numérique dans Pandas
Comment convertir les colonnes Pandas DataFrame en int
Comment convertir DateTime en chaîne dans Pandas

Ajouter un commentaire

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