Como converter booleano em string no pandas dataframe


Você pode usar a seguinte sintaxe básica para converter uma coluna booleana em uma coluna de string em um DataFrame do pandas:

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

Este exemplo específico substitui cada valor True pela string “True” e cada valor False pela string “False” na coluna chamada my_bool_column .

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: converter um booleano em uma string no Pandas

Suponha que temos o seguinte DataFrame do pandas:

 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

Podemos usar a função dtypes para verificar o tipo de dados de cada coluna no DataFrame:

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

team object
int64 dots
all_star bool
starter bool
dtype:object

A partir do resultado, podemos ver que as colunas all_star e starter são booleanas.

Podemos usar a seguinte sintaxe para converter a coluna all_star em uma coluna string:

 #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

Pelo resultado podemos ver que a coluna all_star foi convertida em uma coluna string.

Para converter colunas all_star e iniciais de booleanos em strings, podemos usar a seguinte sintaxe:

 #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

Pelo resultado, podemos ver que ambas as colunas booleanas foram convertidas em strings.

Nota: você pode encontrar a documentação completa para a função replace() do pandas aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:

Pandas: selecione linhas do DataFrame usando uma série booleana
Pandas: como criar uma coluna booleana com base na condição
Pandas: Como converter valores booleanos em valores inteiros

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *