Hoe boolean naar string te converteren in pandas dataframe


U kunt de volgende basissyntaxis gebruiken om een Booleaanse kolom naar een tekenreekskolom in een Panda DataFrame te converteren:

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

In dit specifieke voorbeeld wordt elke True-waarde vervangen door de tekenreeks „True“ en elke False-waarde door de string „False“ in de kolom met de naam my_bool_column .

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: converteer een Booleaanse waarde naar een string in Panda’s

Stel dat we de volgende panda’s DataFrame hebben:

 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

We kunnen de functie dtypes gebruiken om het gegevenstype van elke kolom in het DataFrame te controleren:

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

team object
int64 dots
all_star bool
starter bool
dtype:object

Uit het resultaat kunnen we zien dat zowel de all_star- als de starter- kolom Booleaans zijn.

We kunnen de volgende syntaxis gebruiken om de all_star- kolom naar een string-kolom te converteren:

 #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

Uit het resultaat kunnen we zien dat de kolom all_star is geconverteerd naar een stringkolom.

Om all_star- en starter- kolommen van booleans naar strings te converteren, kunnen we de volgende syntaxis gebruiken:

 #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

Uit het resultaat kunnen we zien dat beide Booleaanse kolommen zijn geconverteerd naar tekenreeksen.

Opmerking: u kunt hier de volledige documentatie voor de functie Pandas Replace() vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:

Panda’s: selecteer rijen uit DataFrame met behulp van een Booleaanse reeks
Panda’s: hoe u een Booleaanse kolom maakt op basis van een voorwaarde
Panda’s: Booleaanse waarden converteren naar gehele waarden

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert