Pandas dataframe'de boolean dizeye nasıl dönüştürülür
Pandas DataFrame’de bir Boolean sütununu dize sütununa dönüştürmek için aşağıdaki temel sözdizimini kullanabilirsiniz:
df[' my_bool_column '] = df[' my_bool_column ']. replace ({ True : ' True ', False : ' False '})
Bu özel örnek, my_bool_column adlı sütundaki her True değerini “True” dizesiyle ve her False değerini “False” dizesiyle değiştirir.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: Pandas’ta bir Boolean’ı String’e dönüştürme
Aşağıdaki pandalara sahip olduğumuzu varsayalım 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
DataFrame’deki her sütunun veri türünü kontrol etmek için dtypes işlevini kullanabiliriz:
#view data type of each column print ( df.dtypes ) team object int64 dots all_star bool starter bool dtype:object
Sonuçtan hem all_star hem de starter sütunlarının boolean olduğunu görebiliriz.
All_star sütununu bir dize sütununa dönüştürmek için aşağıdaki sözdizimini kullanabiliriz:
#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
Sonuçta all_star sütununun bir dize sütununa dönüştürüldüğünü görebiliriz.
All_star ve başlangıç sütunlarını booleanlardan dizelere dönüştürmek için aşağıdaki sözdizimini kullanabiliriz:
#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
Sonuçta her iki Boolean sütununun da dizelere dönüştürüldüğünü görebiliriz.
Not: Pandas replacement() işlevine ilişkin tüm belgeleri burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde pandalarda diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
Pandalar: bir boole serisi kullanarak DataFrame’den satırları seçin
Pandalar: koşula dayalı bir boole sütunu nasıl oluşturulur
Pandalar: Boole değerleri tam sayı değerlerine nasıl dönüştürülür?