ValueError: не удалось преобразовать строку в число с плавающей запятой: '2100-2850' - PullRequest
0 голосов
/ 20 июня 2020

Как решить эту проблему?

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

1 Ответ

0 голосов
/ 20 июня 2020

Все ваши значения читаются как string из файла csv.

Теперь, где-то вы пытаетесь преобразовать некоторые значения в float.

Но значение, которое он имеет встречается '2100 - 2850'.

Теперь вы не можете преобразовать это значение в float, и именно об этом говорит ошибка.

Пожалуйста, проверьте набор данных один раз и разрешите любое такое значение мусора.

...