Мне нужно заменить большое количество неправильно записанных значений в кадре данных на правильное написание. Это будет непрерывный процесс, так как набор данных будет продолжать обновляться, и, следовательно, его необходимо выполнять максимально эффективно.
Сначала на ум приходят два очевидных решения:
1) dataframe.replace ()
2) Слияние фрейма данных с другим с использованием неверных значений в качестве ключа
Эти параметры не кажутся практическими решениями моей проблемы по нескольким причинам.
Для решения 1 (dataframe.replace ()) у меня просто слишком много значений, которые нужно заменить, чтобы продолжать добавлять строку за строкой команд df.replace каждый раз, когда я принимаю новые данные.
ДляРешение 2 (объединить кадры данных), у меня есть более десятка столбцов, которые необходимо изменить, поэтому мне нужно будет создать много отдельных кадров данных, некоторые из которых будут идентичны, кроме имени столбца, который я буду использовать в качестве ключа дляmerge.
Ниже приведен простой пример того, с какими двумя (в идеале) данными я бы работал (* в идеале):
df1:
ResponseID InputA InputB
-------------------------------------
|ABC123 | Chikcen | First |
|DEF456 | Cwo | Second |
|GHI789 | Dog | Third |
-------------------------------------
df2:
Old_Value New_Value
---------------------------
|Chikcen | CHICKEN |
|Cwo | COW |
|Dog | DOG |
|First | 1 |
|Second | 2 |
|Third | 3 |
---------------------------
Я хотел бы запустить эти столбцы в df1 (InputA и InputB) для столбца Old_Value в df2 и заменить эти значения соответствующими значениями в столбце New_Value.
В идеале это приведет к созданию следующего кадра данных
df_final:
ResponseID InputA InputB
-------------------------------------
|ABC123 | CHICKEN | 1 |
|DEF456 | COW | 2 |
|GHI789 | DOG | 3 |
-------------------------------------
Если это действительно возможно, я не могу представить, что решение будет очень сложным. Моя проблема в том, что я не знаю, как этот тип процесса даже был бы назван, чтобы искать где-то ранее существовавший ответ. Спасибо