Вы используете что-то вроде этого:
import pandas as pd
df = pd.DataFrame({"a": range(4), "b": ["x", "x", "y", "y"]})
df
a b
0 0 x
1 1 x
2 2 y
3 3 y
# assign 5 to rows of "a" where "b" == "x"
df.loc[df["b"] == "x", "a"] = 5
df
a b
0 5 x
1 5 x
2 2 y
3 3 y
В качестве альтернативы вы можете создать новый столбец из набора значений:
df["val"] = df["b"].map({"x": 5, "y": 6})
df
a b val
0 5 x 5
1 5 x 5
2 2 y 6
3 3 y 6
map также поддерживает функции, если вам нужна более сложная логика.