You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pandas读取含0和1的CSV转布尔值时遇ValueError报错求助

问题解决:pd.read_csv使用true_values/false_values时报错ValueError: Must be all encoded bytes

问题原因

你遇到的报错是因为StringIO中的内容是文本流,pandas读取时会将CSV里的0、1解析为字符串类型,但你传入的true_values=[1]和false_values=[0]是整数类型,类型不匹配导致报错。

解决方案

将true_values和false_values中的整数改为字符串形式,让其与CSV中的文本内容类型一致:

from io import StringIO
import numpy as np
import pandas as pd

df = pd.read_csv(StringIO("""var1, var2
0,   0
0,   1
1,   1
0,   0
0,   1
1,   0"""), true_values=['1'], false_values=['0'])
print(df)

输出结果

运行后会得到转换为布尔值的DataFrame:

var1   var2
0  False  False
1  False   True
2   True   True
3  False  False
4  False   True
5   True  False

内容的提问来源于stack exchange,提问作者G M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 05:55:20