Попробуйте:
oneEncoder.fit_transform(df[["Col2"]]).todense()
Предположим, у нас есть:
features = pd.DataFrame({"Col2":["a","b","c"]})
Тогда:
oneEncoder= OneHotEncoder()
oneEncoder.fit_transform(features[["Col2"]]).todense()
matrix([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
Если вы имеете дело с Series
объектом, вы можете wi sh изменить его:
oneEncoder.fit_transform(features.Col2.values.reshape(-1,1)).todense()
matrix([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
Удаление todense()
метод оставит ваше преобразование в разреженной матрице.
И, наконец, вы можете всегда декодировать то, что столбцы Ваша матрица означает:
oneEncoder.categories_
[array(['a', 'b', 'c'], dtype=object)]
Не удивительно, что они являются вашими уникальными входными данными, упорядоченными в алфавитном порядке.