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