Я пытаюсь преобразовать пустые значения моего CSV-файла в среднее значение столбцов, но он выдает ошибку «не удалось преобразовать строку в число с плавающей точкой»: «-» - PullRequest
0 голосов
/ 09 февраля 2020
import pandas as pd 
import numpy as np
from sklearn.preprocessing import Imputer 
data = pd.read_csv("austin_weather.csv")
data = data.drop(['Events', 'Date'], axis = 1) 
X = data.iloc[:, :-1].values
Y = data.iloc[:, 18].values
data = data.replace('T', 0.0)
imputer = Imputer(missing_values="-", strategy="mean", axis = 0)
imputer.fit(X[:])

функция imputer не может преобразовать пустое значение "-" в среднее значение соответствующего столбца

1 Ответ

0 голосов
/ 09 февраля 2020

Для устаревшего класса sklearn.preprocessing.Imputer параметр missing_values является либо строкой NaN, либо числом.

Таким образом, вы можете сначала заменить все значения - на np.nan: X.replace('-', np.nan), а затем вызвать imputer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...