Ввод:
import pandas as pd
codes = ['1', '2', '3', '4']
data = [['AAA', '3A'], ['BBB', '3D'], ['CCC', '2A'], ['DDD', '1B'], ['EEE', '44'], ['FFF', '3A'], ['GGG', 'Y']]
df = pd.DataFrame(data, columns = ['name', 'occupation_code'])
Out[8]:
name occupation_code
0 AAA 3A
1 BBB 3D
2 CCC 2A
3 DDD 1B
4 EEE 44
5 FFF 3A
6 GGG Y
Теперь я хочу заменить неправильный код точными кодами, для этого в настоящее время я пишу несколько операторов замены, как показано ниже:
df["occupation_code"] = df["occupation_code"].replace(to_replace = ["3A","3D"] ,value = "3")
df["occupation_code"] = df["occupation_code"].replace(to_replace = ["2A"] ,value = "2")
df["occupation_code"] = df["occupation_code"].replace(to_replace = ["1B"] ,value = "1")
df["occupation_code"] = df["occupation_code"].replace(to_replace = ["44"] ,value = "4")
df["occupation_code"] = df["occupation_code"].replace(to_replace = ["Y"] ,value = "1")
name occupation_code
0 AAA 3
1 BBB 3
2 CCC 2
3 DDD 1
4 EEE 4
5 FFF 3
6 GGG 1
Но в данных есть 100 неправильных кодов занятий, есть ли способ сделать это с помощью одного go, предоставив словарь или списки фактических и заменяющих кодов?