Вы можете использовать любой из двух нижеприведенных методов для исключения категориальных значений NaN -
Вариант 1: Замените отсутствующие значения наиболее часто встречающейся категорией. Например, если у вас есть столбец со значениями 51%, принадлежащими одной категории, используйте приведенный ниже код для заполнения отсутствующих значений этой категории
df['col_name'].fillna('most_frequent_category',inplace=True)
Вариант 2: Если вы этого не сделаете t wi sh для вменения отсутствующих значений в наиболее часто встречающуюся категорию, тогда вы можете создать новую категорию под названием «Другое» (или аналогичную нейтральную категорию, относящуюся к вашей переменной)
df['col_name'].fillna('Other',inplace=True)
Оба эти метода будут вменять ваши отсутствуют категориальные значения, и тогда вы сможете их кодировать в OneHotEncode.