У меня есть фрейм данных, который я пока обозначу df, и я получаю ndarray следующим образом
Х = df.iloc [:, 5:]. Значения
который я хочу использовать для модели машинного обучения. Мне нужно горячо закодировать 12-й столбец X.
Используя sklearn, я сначала кодировал его следующим образом
from sklearn.preprocessing import LabelEncoder,OneHotEncoder
labelencoder_x=LabelEncoder()
df[:,12]=labelencoder_x.fit_transform(df[:,12])
и это прекрасно работает.
Далее я пробую горячее кодирование следующим образом
onehotencoder=OneHotEncoder(categorical_features=[12])
X=onehotencoder.fit_transform(X).toarray()
и я получаю следующую ошибку
ValueError: Input contains NaN, infinity or a value too large for
dtype('float64').
Может ли кто-нибудь помочь мне в этом, я новичок в программировании на python и хочу узнать, что не так с тем, что я сделал, и как я могу это исправить. Я попытался выполнить некоторую отладку, посмотрев, есть ли np.nan в 12-м столбце, и я получил False, я также проверил тип каждого элемента в 12-м столбце, и это int.