Come convertire booleano in stringa in pandas dataframe


È possibile utilizzare la seguente sintassi di base per convertire una colonna booleana in una colonna stringa in un DataFrame panda:

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

Questo particolare esempio sostituisce ogni valore True con la stringa “True” e ogni valore False con la stringa “False” nella colonna denominata my_bool_column .

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: converti un booleano in una stringa in Pandas

Supponiamo di avere i seguenti panda DataFrame:

 import pandas as pd

#createDataFrame
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

Possiamo utilizzare la funzione dtypes per verificare il tipo di dati di ciascuna colonna nel DataFrame:

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

team object
int64 dots
all_star bool
starter bool
dtype:object

Dal risultato, possiamo vedere che entrambe le colonne all_star e starter sono booleane.

Possiamo usare la seguente sintassi per convertire la colonna all_star in una colonna stringa:

 #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
int64 dots
all_star object
starter bool
dtype:object

Dal risultato possiamo vedere che la colonna all_star è stata convertita in una colonna string.

Per convertire le colonne all_star e starter da booleani a stringhe, possiamo utilizzare la seguente sintassi:

 #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
int64 dots
all_star object
starter object
dtype:object

Dal risultato possiamo vedere che entrambe le colonne booleane sono state convertite in stringhe.

Nota: puoi trovare la documentazione completa per la funzione panda replace() qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:

Panda: seleziona le righe da DataFrame utilizzando una serie booleana
Panda: come creare una colonna booleana basata sulla condizione
Panda: come convertire valori booleani in valori interi

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *