Как выполнить одно горячее кодирование без преобразования кадра данных в массив?Python

Программы на Python
Anonymous
Как выполнить одно горячее кодирование без преобразования кадра данных в массив?

Сообщение Anonymous »


У меня есть кадр данных df со столбцами категориальных характеристик 'temp_of_extremities', 'peripheral_pulse', 'mucous_membrane'. Я хочу закодировать категориальные признаки, как здесь:

из sklearn.preprocessing import OneHotEncoder categorical_features = ['temp_of_extremities', 'периферический_пульс', 'слизистая_мембрана'] ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), categorical_features)], остаток='passthrough') df = ct.fit_transform(df) Но без преобразования фрейма данных в массив.

Я пытался применить этот метод:

categorical_features = ['temp_of_extremities', 'периферический_пульс', 'слизистая_мембрана'] для функции в categorical_features: df = pd.concat([df, pd.get_dummies(df[feature], prefix=feature, dtype='int')], axis=1) df = df.drop([функция], ось=1) Однако это неправильное решение, поскольку при применении этого метода к другому фрейму данных с теми же характеристиками кодировка будет другой

Вернуться в «Python»