Вам нужно переставить все строковые значения в столбцы и заполнить их 0 или 1, звучит как непростая задача, но, как упоминал Дж. Андерсон, упомянутые выше, есть библиотеки, чтобы сделать это очень просто.
Я бы создал обобщенную функцию, используя get_dummies, примерно так:
def dummy_df(df, todummy_list):
for x in todummy_list:
dummies = pd.get_dummies(df[x], prefix=x, dummy_na=False)
df = df.drop(x, 1)
df = pd.concat([df, dummies], axis=1)
return df
И вызовите функцию со всеми функциями, которые должны быть подставлены
todummy_list = ['MODEL_NAME', 'TRANS_TYPE', 'FUEL_TYPE']
train = dummy_df(train, todummy_list)
с учетом того, что «поезд» - это кадр данных панд.