如何在 pandas dataframe 中将布尔值转换为字符串


您可以使用以下基本语法将 pandas DataFrame 中的布尔列转换为字符串列:

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

此特定示例将名为my_bool_column 的列中的每个 True 值替换为字符串“True”,将每个 False 值替换为字符串“False”。

以下示例展示了如何在实践中使用此语法。

示例:在 Pandas 中将布尔值转换为字符串

假设我们有以下 pandas 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

我们可以使用 dtypes 函数来检查 DataFrame 中每一列的数据类型:

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

team object
int64 dots
all_star bool
starter bool
dtype:object

从结果中我们可以看到all_starstarter列都是布尔值。

我们可以使用以下语法将all_star列转换为字符串列:

 #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

从结果中我们可以看到all_star列已转换为字符串列。

要将all_starstarter列从布尔值转换为字符串,我们可以使用以下语法:

 #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

从结果中我们可以看到两个布尔列都已转换为字符串。

注意:您可以在此处找到 pandas Replace()函数的完整文档。

其他资源

以下教程解释了如何在 pandas 中执行其他常见任务:

Pandas:使用布尔系列从 DataFrame 中选择行
Pandas:如何根据条件创建布尔列
Pandas:如何将布尔值转换为整数值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注