源于this发布,但我发现解决方案存在一些问题。
使用 df = df.replace({True: 'TRUE', False: 'FALSE'})
, 如果值为 1
或 0
它将被替换。我只想替换实际上是 True
的值或 False
的 <class 'bool'>
.
我该怎么做?
最佳答案
您可以使用 df.where
执行此操作,因此您只需替换 bool
类型。
import pandas as pd
mask = df.applymap(type) != bool
d = {True: 'TRUE', False: 'FALSE'}
df = df.where(mask, df.replace(d))
输入:
df = pd.DataFrame({'vals': [1, 0, 1.0, 'True', True, False],
'ids': [78, 'kitten', True, False, 'orange', 9]})
输出:
vals ids
0 1 78
1 0 kitten
2 1 TRUE
3 True FALSE
4 TRUE orange
5 FALSE 9
关于python - 在 DataFrame 中将 bool 值转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52336392/