我正在使用带有read_csv的pandas。如果所有值都是“true”或“false”,它会将字符串解释为boolean。我该如何防止这种情况?
我的data.csv
文件内容:
String1,String2
true,false
true,false
true,true
代码
import pandas
df = pandas.read_csv("data.csv", true_values=None, false_values=None)
None
和true_values
的{p> false_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
即使数据似乎是所有布尔值,我如何读取字符串?
答案 0 :(得分:1)
您可以将dtype参数作为对象传递:
df = pd.read_csv("test.csv", dtype="O")
这会将所有列视为对象。如果您只想将其应用于这些特定列,则可以传递字典:
df = pd.read_csv("test.csv", dtype={"String1": "O", "String2": "O"})