Python ValueError:无法将字符串转换为浮点:';2100-2850';
我怎样才能解决这个问题Python ValueError:无法将字符串转换为浮点:';2100-2850';,python,pandas,machine-learning,scikit-learn,linear-regression,Python,Pandas,Machine Learning,Scikit Learn,Linear Regression,我怎样才能解决这个问题 import pandas as pd import numpy as numpy import matplotlib.pyplot as plt import seaborn as sns train = pd.read_csv(r"G:\data_science\input\train.csv") cat_columns = ['area_type','availability','location','size','society','bath'
import pandas as pd
import numpy as numpy
import matplotlib.pyplot as plt
import seaborn as sns
train = pd.read_csv(r"G:\data_science\input\train.csv")
cat_columns = ['area_type','availability','location','size','society','bath','balcony']
for col in train.columns:
if col in cat_columns:
train[col]= train[col].astype('category')
train[col]= train[col].cat.codes
from sklearn.linear_model import LinearRegression, SGDRegressor
from sklearn.metrics import mean_squared_error
test = pd.read_csv(r"G:\data_science\input\test.csv")
y_train = train['price']
x_train = train.drop('price', axis = 1)
y_test = test['price']
x_test = test.drop('price',axis = 1)
model = LinearRegression()
model.fit(x_train, y_train)
prediction = model.predict(x_test)
prediction
您的所有值都将从csv文件中读取为
string
现在,您正在尝试将某些值转换为float
但是它遇到的值是'2100-2850'
现在您无法将此值转换为浮点值
,这就是错误的含义
请检查数据集一次并解析任何此类垃圾值。这意味着您在“2100-2850”列中有一个非浮点值。您应该首先检查数据,查看其中一个单元格中有哪些数据类型的值
2100-28501
在train.csv
文件中,有一个-
(破折号)字符。仔细检查文件并删除-
。