Закодируйте два оставшихся признака:

  1. Создайте экземпляр класса OrdinalEncoder и укажите порядок категорий.
  2. Сделайте так, чтобы OrdinalEncoder мог обработать неизвестные категории и кодировал их как NaN.
# импортируем библиотеки и объявляем константы
import pandas as pd
import numpy as np
from sklearn.preprocessing import OrdinalEncoder

RANDOM_STATE = 42

# подготавливаем данные заранее созданной функцией
# в код добавили кодирование неранговых переменных
X_train, X_test, y_train, y_test = prepare_data('railway_full.csv')

# создаём список с ранговыми категориями для кодирования OrdinalEncoder
ordered_cols = [
    'Оценка комфортности времени отправления/прибытия',
    'Общая оценка качества предоставленной услуги'
]

# создайте экземпляр класса OrdinalEncoder для упорядоченного кодирования
# кодируйте неизвестные категории пропусками
ordered_encoder = OrdinalEncoder(
    categories=[['плохо', 'нормально',  'хорошо'],
                ['плохо', 'нормально', 'хорошо']
               ],
    handle_unknown='use_encoded_value',
    unknown_value=np.nan
)

# обучаем OrdinalEncoder на выбранных признаках из тренировочной выборки
# преобразовываем тренировочную выборку
X_train[ordered_cols] = ordered_encoder.fit_transform(X_train[ordered_cols])
X_test[ordered_cols] = ordered_encoder.transform(X_test[ordered_cols])

# выводим пропуски в данных
print(X_test.isna().sum())

Результат
Возраст                                             0
Расстояние                                          0
Покупка билета онлайн                               0
Питание включено                                    0
Наличие wifi                                        0
Оценка комфортности места                           0
Оценка качества уборки                              0
Оценка качества обслуживания в пути                 0
Оценка комфортности покупки билета онлайн           0
Оценка качества wifi                                0
Оценка комфортности времени отправления/прибытия    0
Общая оценка качества предоставленной услуги        0
Пол_муж                                             0
Путешествует с детьми_нет                           0
Путешествует по работе_нет                          0
Тип_плацкарт                                        0
Тип_св                                              0
Оценка качества питания_отсутствует                 0
Оценка качества питания_плохо                       0
Оценка качества питания_хорошо                      0
dtype: int64