как сохранить имена столбцов после одного горячего кодирования sklearn? - PullRequest
0 голосов
/ 18 мая 2018

Я работаю над конкурсом титановых стычек, чтобы разобраться с категориальными данными. Я разбил данные на 2 набора: один для числовых переменных, а другой для категориальных переменных.После работы со sklearn одним горячим кодированием на множестве с категориальными переменными я попытался перегруппировать два набора данных, но так как категориальный набор - ndarray, а другой - фрейм данных, который я использовал:

np.hstack((X_train_num, X_train_cat))

, который прекрасно работаетно у меня больше нет имен моих переменных.

Есть ли другой способ сделать это, поддерживая имена переменных без использования pd.get_dummies ()?

Спасибо

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Ну, как вы указали в своем вопросе, есть pd.get_dummies, который я считаю лучшим выбором здесь.Сказав это, вы можете использовать

pd.concat([X_train_num, pd.DataFrame(X_train_cat, index=X_train_num.index)], axis=1)

Если хотите, вы можете также дать полезные имена столбцов с

pd.concat([X_train_num, pd.DataFrame(X_train_cat, index=X_train_num.index, columns=cols)], axis=1)

и cols может быть любым списком строк, который вы хотите (соответствующей длины).

0 голосов
/ 18 мая 2018

Попробуйте

X_train = X_train_num.join(
   pd.DataFrame(X_train_cat, X_train_num.index).add_prefix('cat_')
)
...