Мой вопрос: у меня так много столбцов в моем фрейме данных pandas, и я пытаюсь применить предварительную обработку sklearn, используя сопоставитель фреймов данных из библиотеки sklearn-pandas, такой как
mapper= DataFrameMapper([
('gender',sklearn.preprocessing.LabelBinarizer()),
('gradelevel',sklearn.preprocessing.LabelEncoder()),
('subject',sklearn.preprocessing.LabelEncoder()),
('districtid',sklearn.preprocessing.LabelEncoder()),
('sbmRate',sklearn.preprocessing.StandardScaler()),
('pRate',sklearn.preprocessing.StandardScaler()),
('assn1',sklearn.preprocessing.StandardScaler()),
('assn2',sklearn.preprocessing.StandardScaler()),
('assn3',sklearn.preprocessing.StandardScaler()),
('assn4',sklearn.preprocessing.StandardScaler()),
('assn5',sklearn.preprocessing.StandardScaler()),
('attd1',sklearn.preprocessing.StandardScaler()),
('attd2',sklearn.preprocessing.StandardScaler()),
('attd3',sklearn.preprocessing.StandardScaler()),
('attd4',sklearn.preprocessing.StandardScaler()),
('attd5',sklearn.preprocessing.StandardScaler()),
('sbm1',sklearn.preprocessing.StandardScaler()),
('sbm2',sklearn.preprocessing.StandardScaler()),
('sbm3',sklearn.preprocessing.StandardScaler()),
('sbm4',sklearn.preprocessing.StandardScaler()),
('sbm5',sklearn.preprocessing.StandardScaler())
])
Мне просто интересно, есть ли еще один более краткий способ предварительной обработки многих переменных за один раз, не записывая их явно.
Еще одна вещь, которую я нашел немного раздражающей, это то, что когда я преобразовал весь фрейм данных pandas в массивы, с которыми может работать sklearn, они потеряют функции имени столбца, что очень усложняет выбор. Кто-нибудь знает, как сохранить имена столбцов в качестве ключа при изменении кадров данных pandas на массивы np?
Большое спасибо!