Jak przekonwertować wartość logiczną na ciąg w pandas dataframe


Możesz użyć następującej podstawowej składni, aby przekonwertować kolumnę logiczną na kolumnę łańcuchową w ramce DataFrame pandy:

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

W tym konkretnym przykładzie każda wartość True jest zastępowana ciągiem „True”, a każda wartość Fałsz – ciągiem „False” w kolumnie o nazwie my_bool_column .

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Konwertuj wartość logiczną na ciąg w Pandach

Załóżmy, że mamy następującą ramkę DataFrame pand:

 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

Możemy użyć funkcji dtypes, aby sprawdzić typ danych każdej kolumny w DataFrame:

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

team object
int64 dots
all_star bool
starter bool
dtype:object

Z wyniku widzimy, że obie kolumny all_star i starter są wartościami logicznymi.

Możemy użyć następującej składni, aby przekonwertować kolumnę all_star na kolumnę typu 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

Z wyniku widzimy, że kolumna all_star została przekonwertowana na kolumnę typu string.

Aby przekonwertować kolumny all_star i starter z wartości logicznych na łańcuchy, możemy zastosować następującą składnię:

 #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

W wyniku widzimy, że obie kolumny logiczne zostały przekonwertowane na ciągi znaków.

Uwaga: pełną dokumentację funkcji pandas zamiany() znajdziesz tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w pandach:

Pandy: wybierz wiersze z DataFrame, używając serii logicznej
Pandy: jak utworzyć kolumnę logiczną na podstawie warunku
Pandy: Jak konwertować wartości logiczne na wartości całkowite

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *