我有一个包含43个属性的火车数据集。每个属性都有一些元组值作为对象(如带有某些字符的字符串)。 现在,我尝试使用缩放器缩放值,但是会出现以下错误:
could not convert string to float: '?'
现在,我不知道如何在单个命令中将对象转换为int或float,并针对43个属性中的每个属性进行逐个转换是很乏味的。
所以我想知道如何通过一个命令对整个数据集进行处理。
答案 0 :(得分:0)
我使用convert
函数尝试将字符串解析为浮点数。
如果不能,它将尝试将其解析为一个int,如果仍然不能,则将其分配为0(您可以更改默认值,因为该字符串不是int或float形式)
l = []
def convert(str):
x = 0
try:
x = int(str)
except:
try:
x = float(str)
except:
pass
l.append(x)
for i in ['1','2','3','?','4.5']:
convert(i)
print(l)
#[1, 2, 3, 0, 4.5]