我正在将熊猫与read_csv一起使用。如果所有值均为“ true”或“ false”,则它将字符串解释为布尔值。我该如何预防?

我的data.csv文件内容:

String1,String2
true,false
true,false
true,true




import pandas
df = pandas.read_csv("data.csv", true_values=None, false_values=None)


Nonetrue_valuesfalse_values应该是默认值,将其省略会得到相同的结果。 df的值为:

  String1 String2
0    True   False
1    True   False
2    True    True


如果我的数据文件包含“ true”或“ false”以外的其他值,则它将数据解释为字符串。例如。 data.csv内容:

String1,String2
true,false
true,nazca
true,true


给出df

  String1 String2
0    True   false
1    True   nazca
2    True    true


即使数据似乎都是布尔值,我如何读取字符串?

最佳答案

您可以将dtype参数作为对象传递:

df = pd.read_csv("test.csv", dtype="O")


这会将所有列视为对象。如果只想将其应用于那些特定的列,则可以传递一个字典:

df = pd.read_csv("test.csv", dtype={"String1": "O", "String2": "O"})

关于python - 文本解释为 bool 值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38149827/

10-12 20:25