Python 保持';正确';作为字符串和';正确';带pandas read_csv函数的布尔值
让我更好地解释一下我的问题 我有一个.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>可选关键字,将值看作是真的,但是
'False'
或'True'
的列,以及带有'True'
和'False'
的列(请注意是否存在大写字母)
我可以使用pandasread\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读取它们。如果您计划自己进行类型推断,可能会有帮助谢谢您的回答,但不幸的是,这意味着我需要先找到哪些列需要是字符串,我的问题是这样做,我需要先读取数据(已转换)。感谢您的回答,但不幸的是,这意味着我需要先找到哪些列需要是字符串,我的问题是要这样做,我需要先读取数据(已转换)。