Задать значения ячейки для новой колонки DataFrame согласно условию
Есть словарь вида:
a = {'a': 1, 'b': 2}
и есть датафрейм:
df = pd.DataFrame({'col': ['a', 'a', 'b']})
Как сделать новую колонку и в нее передать значения из словаря. То есть, если в первой колонке a, то в новой колонке должно быть число 1. DataFrame должен получиться таким:
col | new_col
-------------
a | 1
a | 1
b | 2
Есть идея бегать через метод iterrow и проверять в условии значение колонки.
Eсть ли способ эффективнее?
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Попробуйте так:
df['new'] = df['col'].map(a)
результат:
In [59]: df
Out[59]:
col new
0 a 1
1 a 1
2 b 2