Python 保持';正确';作为字符串和';正确';带pandas read_csv函数的布尔值

Python 保持';正确';作为字符串和';正确';带pandas read_csv函数的布尔值,python,python-3.x,pandas,Python,Python 3.x,Pandas,让我更好地解释一下我的问题 我有一个.csv,其中包含带有'False'或'True'的列,以及带有'True'和'False'的列(请注意是否存在大写字母) 我可以使用pandasread\u csv函数将第一个函数直接转换为Python布尔值True和False 但是,我想将'true'和'false'保留为字符串,但它们被转换为Python布尔值true和false 有没有办法让它们成为弦 < P> >我知道关于代码> TreEyValue< /Cord>可选关键字,将值看作是真的,但是

让我更好地解释一下我的问题

我有一个.csv,其中包含带有
'False'
'True'
的列,以及带有
'True'
'False'
的列(请注意是否存在大写字母)

我可以使用pandas
read\u csv
函数将第一个函数直接转换为Python布尔值
True
False

但是,我想将
'true'
'false'
保留为字符串
,但它们被转换为Python布尔值
true
false

有没有办法让它们成为弦


< P> >我知道关于代码> TreEyValue< /Cord>可选关键字,将值看作是真的,但是它增加了值,而不是替换值来考虑true。 如果遇到其他StackOverlow帖子,但无法将其应用于我的问题,因为我希望一些列带有
True
'True'
,并且知道哪些列需要是字符串或不需要是字符串的唯一方法是读取数据(但它被转换为此帖子)


提前感谢您的帮助,

说明Aryerez的评论,您可以指定
dtype
。给定一个csv“test.csv”包含

a,b
True,true
False,false
你可以打电话

将熊猫作为pd导入
df=pd.read_csv('test.csv',dtype={'a':bool,'b':str})
给你

df
Out[5]: 
       a      b
0   True   true
1  False  false

df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2 entries, 0 to 1
Data columns (total 2 columns):
a    2 non-null bool
b    2 non-null object
dtypes: bool(1), object(1)
memory usage: 146.0+ bytes

但是,在这两种情况下,您都需要有关数据的信息—特定列的名称或列的
dtype

为了说明Aryerez的注释,您可以指定
dtype
。给定一个csv“test.csv”包含

a,b
True,true
False,false
你可以打电话

将熊猫作为pd导入
df=pd.read_csv('test.csv',dtype={'a':bool,'b':str})
给你

df
Out[5]: 
       a      b
0   True   true
1  False  false

df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2 entries, 0 to 1
Data columns (total 2 columns):
a    2 non-null bool
b    2 non-null object
dtypes: bool(1), object(1)
memory usage: 146.0+ bytes

但是,在这两种情况下,您都需要有关数据的信息—特定列的名称或列的“
dtype

,因此您希望有一个包含布尔值和字符串的列?您是否尝试将这些列的
dtype
定义为
str
?@DanielMesejo否,每列都有一个单独的类型,当有“真”或“假”时,我知道只有正确的布尔值。但是,当存在“true”或“false”时,它是唯一的字符串。@VictorGalisson因此将它们都定义为字符串,然后用python读取它们。如果您计划自己进行类型推断,也许有帮助,所以你想要一个包含布尔值和字符串的列?你是否尝试将这些列的
dtype
定义为
str
?@DanielMesejo否,每列都有一个单独的类型,当存在“True”或“False”时,我知道只有正确的布尔值。但是,当有“真”或“假”时,它只是字符串。@VictorGalisson因此将它们都定义为字符串,然后用python读取它们。如果您计划自己进行类型推断,可能会有帮助谢谢您的回答,但不幸的是,这意味着我需要先找到哪些列需要是字符串,我的问题是这样做,我需要先读取数据(已转换)。感谢您的回答,但不幸的是,这意味着我需要先找到哪些列需要是字符串,我的问题是要这样做,我需要先读取数据(已转换)。