我正在运行一些机器学习代码,要求我的Pandas DataFrame中的值为数字(浮点数,整数等)。它看起来像这样(X是训练集,Y是目标向量):
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
lin_reg = LinearRegression()
lin_reg.fit(X, Y)
views_predictions = lin_reg.predict(X)
lin_mse = mean_squared_error(Y, views_predictions)
lin_rmse = np.sqrt(lin_mse)
lin_rmse
但是,尝试运行时出现此错误:
ValueError: could not convert string to float: original
所以,我检查了我的DataFrame的dtype,看到我的type
列是一个对象,而不是一个字符串......
我试过这个来解决这个问题:
final_df['type'] = (final_df['type'] == 'licensed').astype(int)
不幸的是,我收到一个奇怪的类型错误:
TypeError: Could not compare ['licensed'] with block values
不确定如何解释或解决问题。
有什么建议吗?
谢谢!
答案 0 :(得分:0)