在利用python对数据进行处理时,往往会出现类型转换出现错误的问题。在尝试将一个Series对象转换为float
类型时,但是这个Series对象不是一个单独的数值,而是包含整列数值的序列。
本文主要解释的当读入一个包含多行多列的csv文件时,并将其转换为float类型时,出现了TypeError: cannot convert the series to <class 'float'>的错误。
解决办法:
在这种情况下非单一数据处理时,你需要使用.iloc方法逐行遍历变量(例new_data)
,并将每一行的前两列数值作为一个特征向量,将第三列数值作为对应的目标输出。具体来说,你可以使用以下代码:
x = []
y = []
for i in range(len(new_data)):
feature = [float(new_data.iloc[i, 0]), float(new_data.iloc[i, 1])]
target = float(new_data.iloc[i, 2])
x.append(feature)
y.append(target)
x
将会包含所有特征向量,y
将会包含所有目标输出。