Как сделать replace сразу нескольких значений через map
Мне нужно сделать replace данных моей DF. Я знаю как это делать через map в случае когда нужно заменить одно значение на другое, но мне нужна замена нескольких значений. Есть ли способ это сделать правильнее ?
sql_huawei_bsc_GEXT2GCELL['BSC'] = sql_huawei_bsc_GEXT2GCELL['BSC'].map(lambda x: (x.replace('22279','115')))
sql_huawei_bsc_GEXT2GCELL['BSC'] = sql_huawei_bsc_GEXT2GCELL['BSC'].map(lambda x: (x.replace('22285','121')))
sql_huawei_bsc_GEXT2GCELL['BSC'] = sql_huawei_bsc_GEXT2GCELL['BSC'].map(lambda x: (x.replace('22381','523')))
sql_huawei_bsc_GEXT2GCELL['BSC'] = sql_huawei_bsc_GEXT2GCELL['BSC'].map(lambda x: (x.replace('12312','723')))
sql_huawei_bsc_GEXT2GCELL['BSC'] = sql_huawei_bsc_GEXT2GCELL['BSC'].map(lambda x: (x.replace('12351','725')))
Ответы (1 шт):
Автор решения: strawdog
→ Ссылка
df = pd.DataFrame({"A":[1, 2, 3, 4, 5,6]})
A
0 1
1 2
2 3
3 4
4 5
5 6
Делаете словарь замен, и - вперед:
rep = {1:"one", 4:"four"}
df["A"]= df["A"].map(rep).fillna(df["A"])
df теперь:
A
0 one
1 2
2 3
3 four
4 5
5 6