У меня есть фрейм данных, который имеет целочисленные и категориальные функции. Категориальные признаки бывают двух типов: числа и строки.
Мне удалось выполнить одно горячее кодирование столбцов, которые были целочисленными и категориальными, то есть числами. Я получаю сообщение об ошибке, когда пытаюсь выполнить горячее кодирование категориальных столбцов, которые являются строками.
ValueError: не удалось преобразовать строку в число с плавающей запятой: '13367cc6'
Поскольку фрейм данных огромен с высокой мощностью, я хочу преобразовать его только в разреженную форму. Я бы предпочел решение, использующее from sklearn.preprocessing import OneHotEncoder
, поскольку я с ним знаком.
Я проверил и другие вопросы, но ни один из них не отвечает на то, что я спрашиваю.
data = [[623, 'dog', 4], [123, 'cat', 2],[623, 'cat', 1], [111, 'lion', 6]]
Приведенный выше фрейм данных содержит 4 строки и 3 столбца.
Имена столбцов - ['animal_id', 'animal_name', 'number']
Предположим, что animal_id
и animal_name
хранятся в пандах как категория, а число как int64 dtype.