Я работаю с House Prices Kaggle dataset
.Я пытаюсь использовать RobustScaler
из sklearn только для числовых функций в наборе данных (LotFrontage
, LotArea
и т. Д.).Сначала я подгоняю данные к числовым значениям моего фрейма данных, вызывая select_dtypes(exclude=['object']
.Как только преобразователь будет соответствовать этим значениям, я вызываю функцию transform
, пытаясь преобразовать те же самые значения, для которых я просто подгоняю данные, устанавливая преобразователь равным атрибутам исключенных объектов.После этого я получаю следующее сообщение об ошибке:
SyntaxError: невозможно присвоить вызов функции
Данные уже удалены из значений null
.Что работало, так это когда я устанавливаю результаты преобразования равными некоторой переменной, я получаю результаты обратно как numpy.ndarray
from sklearn.preprocessing import RobustScaler
transformer = RobustScaler().fit(df_train.select_dtypes(exclude=['object']))
df_train.select_dtypes(exclude=['object']) = transformer.transform(df_train.select_dtypes(exclude=['object'])) # This doesn't work
test = transformer.transform(df_train.select_dtypes(exclude=['object'])) # This DOES work, but not in the format I need
Все, что я хочу, это чтобы преобразованные атрибуты вернулись в исходное значение pandas data frame
в соответствующих местах.Есть ли какое-то временное решение, которое я могу реализовать, если не могу напрямую преобразовать исходные результаты в данных?