Вы можете использовать labelEncoder от scikit, он преобразует каждое уникальное имя в код. ОПАСНОСТЬ: обратите внимание, что коды даны случайным образом и являются номинальными (не порядковыми), что означает, что относительные числа городов не имеют никакого значения. В приведенном ниже примере Токио - 2, Париж - 1. Это потому, что в Токио больше население? Или что-нибудь значимое? NO. Поэтому он случайный, поэтому большую часть времени он не подходит для использования в качестве функции ML. Документ для Label enconder: здесь .
Вы также можете заглянуть в одноклавишный кодировщик, который превращает каждое значение в столбец из 1 и 0. Как правило, именно так вы включаете категории в ML.
Для получения дополнительной информации выполните поиск в Google, например, "номинальные или обычные категориальные функции" или "как включить категории в scikit ml" и т. Д. *
>>> le = preprocessing.LabelEncoder()
>>> le.fit(["paris", "paris", "tokyo", "amsterdam"])
LabelEncoder()
>>> list(le.classes_)
['amsterdam', 'paris', 'tokyo']
>>> le.transform(["tokyo", "tokyo", "paris"])
array([2, 2, 1]...)
>>> list(le.inverse_transform([2, 2, 1]))
['tokyo', 'tokyo', 'paris']