Я работаю над набором шахматных данных, где у меня есть столбец для move_1, move_2, move_3 и так далее ... в каждом из этих столбцов есть «игровой код», созданный игроком. Каждая строка предназначена для определенной c игры, и их около 1000 строк.
result move_1 move_2 move_3 ...
1 e4 d4 Nc3 ...
1 d4 Nf3 c4 ...
1 e4 d3 Nd2 ...
1 d4 c4 d5 ...
0 d4 c4 Nc3 ...
keeps going down...
как мне лучше всего изменить каждое уникальное значение в каждой строке / столбце на назначенное целое число, чтобы я мог провести анализ? Я сделал следующее:
chess_df['move_2'].replace(to_replace=['Nf3', 'c4', 'd3','d4', 'Nc3'],
value= [3, 2, 4, 1, 7],
inplace=True)
, где каждому «игровому коду» присвоено целое число. Итак, 'd4' = 1, 'c4 = 2 и так далее, во ВСЕХ строках .
Проблема в том, что это НЕ лучший способ сделать это, поскольку мне нужно найти каждую и каждый уникальный код и замените его на уникальное целое число столбцами ... Это займет много времени, и это будет действительно запутать.
Я хочу, чтобы столбец move_1 имел 1000 строк и 45 уникальных игровых кодов '. Таким образом, каждый игровой код в нем стал бы числом от 1 до 45.
Столбец move_2 имеет 1000 строк с 89 уникальными значениями, 25 из которых также находятся в столбце move_1. Поэтому мне нужно назначить 25 номеров, уже назначенных в столбце move_1 + 64 новые номера. И так далее ...
Итак, мой вопрос:
Как я могу с помощью кода Python создать что-то, что автоматизирует процесс изменения 'play code 'в уникальное целое число для всех строк и столбцов?