我试图通过线性回归找到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')
答案 0 :(得分:2)
您需要将数据列表传递给to_numeric
,而不是数据框中的列名称。试试这个:
X = pd.to_numeric(X) # in place of pd.to_numeric("Total UCAS Points")