У меня есть набор данных, где один из столбцов содержит категориальную переменную. Я хотел бы преобразовать его в несколько фиктивных переменных, и в этом случае я бы обычно использовал get_dummies
.Даммические переменные, если присутствуют не все категории
Что происходит, так это то, что get_dummies
просматривает данные, доступные в каждом кадре данных, чтобы узнать, сколько их есть, и тем самым создать соответствующее количество фиктивных переменных. Тем не менее, в проблеме, над которой я сейчас работаю, я действительно заранее знаю, что такое возможные категории. Но при просмотре каждого кадра данных в отдельности обязательно появляются не все категории.
Мой вопрос: есть ли способ передать get_dummies
(или эквивалентную функцию) имена категорий, так что для категорий, которые не отображаются в данном фрейме данных, это просто создаст столбец 0s?
Что-то, что бы сделать это:
categories = ['a', 'b', 'c']
cat
1 a
2 b
3 a
Стать это:
cat_a cat_b cat_c
1 1 0 0
2 0 1 0
3 1 0 0
вы ищете ' sklearn.OneHotEncoder'. Посмотрите здесь: http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html – ssm
@ssm: 'get_dummies' реализует те же функции, что и« OneHotEncoder », с дополнительным преимуществом, что выход легко понять базу данных pandas с помеченными столбцами вместо простой «ndarray». –
Я неправильно понял вопрос. Благодаря! – ssm