线性回归无法将字符串转换为浮点

时间:2018-04-04 14:02:51

标签: python machine-learning linear-regression

我试图通过线性回归找到UCAS分数与最终大学分数(最终)之间的关系,我正在使用This教程

我在

处收到以下错误
plt.scatter(X_test, Y_test,  color='black') 
  

无法将字符串转换为float:

我检查了类型,“总UCAS点数”列是str类,“Final”类型为numpy.float64'

我尝试通过执行以下操作将str转换为float:

pd.to_numeric("Total UCAS Points")

但不断收到错误消息:

  

无法解析位置0的字符串“总UCAS点数”

我也试图忽略错误,但这似乎没有将类型更改为float并且仍然是str

这是我的csv文件示例:

总UCAS积分: 280 280 240 240 360 360 360 360 630

决赛: 58 46 62 64 48 56 54 30

df = df.replace(np.nan, -1)

X = df['Total UCAS Points']
Y = df['Final']

pd.to_numeric("Total UCAS Points")

print(type(Y[2]))


X=X.reshape(len(X),1)
Y=Y.reshape(len(Y),1)

# Split the data into training/testing sets
X_train = X[:-2500]
X_test = X[-2500:]

# Split the targets into training/testing sets
Y_train = Y[:-2500]
Y_test = Y[-2500:]

# Plot outputs
plt.scatter(X_test, Y_test,  color='black')

1 个答案:

答案 0 :(得分:2)

您需要将数据列表传递给to_numeric,而不是数据框中的列名称。试试这个:

X = pd.to_numeric(X)  # in place of pd.to_numeric("Total UCAS Points")