Comment convertir un booléen en chaîne dans Pandas DataFrame



Vous pouvez utiliser la syntaxe de base suivante pour convertir une colonne booléenne en colonne de chaîne dans un DataFrame pandas :

df['my_bool_column'] = df['my_bool_column'].replace({True: 'True', False: 'False'})

Cet exemple particulier remplace chaque valeur True par la chaîne « True » et chaque valeur False par la chaîne « False » dans la colonne appelée my_bool_column .

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

Exemple : convertir un booléen en chaîne 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,20, 25, 40, 34, 32, 19],
                   'all_star': [True, False, True, True, True, False, False],
                   'starter': [False, True, True, True, False, False, False]})

#view DataFrame
print(df)

  team  points  all_star  starter
0    A      18      True    False
1    B      20     False     True
2    C      25      True     True
3    D      40      True     True
4    E      34      True    False
5    F      32     False    False
6    G      19     False    False

Nous pouvons utiliser la fonction dtypes pour vérifier le type de données de chaque colonne du DataFrame :

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

team        object
points       int64
all_star      bool
starter       bool
dtype: object

À partir du résultat, nous pouvons voir que les colonnes all_star et starter sont toutes deux booléennes.

Nous pouvons utiliser la syntaxe suivante pour convertir la colonne all_star en colonne chaîne :

#convert Boolean values in all_star column to strings
df['all_star'] = df['all_star'].replace({True: 'True', False: 'False'})

#view updated DataFrame
print(df)

  team  points all_star  starter
0    A      18     True    False
1    B      20    False     True
2    C      25     True     True
3    D      40     True     True
4    E      34     True    False
5    F      32    False    False
6    G      19    False    False

#view updated data types of each column
print(df.dtypes)

team        object
points       int64
all_star    object
starter       bool
dtype: object

À partir du résultat, nous pouvons voir que la colonne all_star a été convertie en colonne de chaîne.

Pour convertir les colonnes all_star et starter de booléennes en chaînes, nous pouvons utiliser la syntaxe suivante :

#convert Boolean values in all_star and starter columns to strings
df[['all_star', 'starter']] = df[['all_star', 'starter']].replace({True: 'True', False: 'False'})

#view updated DataFrame
print(df)

  team  points all_star  starter
0    A      18     True    False
1    B      20    False     True
2    C      25     True     True
3    D      40     True     True
4    E      34     True    False
5    F      32    False    False
6    G      19    False    False

#view updated data types of each column
print(df.dtypes)

team        object
points       int64
all_star    object
starter     object
dtype: object

À partir du résultat, nous pouvons voir que les deux colonnes booléennes ont été converties en chaînes.

Remarque : vous pouvez trouver la documentation complète de la fonction pandas replace() ici .

Ressources additionnelles

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

Pandas : sélectionnez des lignes de DataFrame à l’aide d’une série booléenne
Pandas : comment créer une colonne booléenne basée sur la condition
Pandas : Comment convertir des valeurs booléennes en valeurs entières

Ajouter un commentaire

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