Я не уверен, достаточно ли ясен мой заголовок, но у меня возникает следующая проблема: я хочу использовать .map
, чтобы создать новый столбец из словаря в моем фрейме данных.Это работает как задумано, за исключением одной проблемы: функция извлекает из словаря целую строку с фигурными скобками, а не только значения.Я много гуглил и не мог найти учебник, который привел бы к другому результату или ответу на этот вопрос.Пример:
df:
col1
0 a
1 b
2 c
dict:
{ a : {'value' : 2},
b : {'value' : 4},
c : {'value' : 1}}
Теперь я хочу использовать .map для создания нового столбца со значениями, соответствующими col1, напримерэто:
col1 col_new
0 a 2
1 b 4
2 c 1
Вместо этого я получаю следующее:
col1 col_new
0 a {'value' : 2}
1 b {'value' : 4}
2 c {'value' : 1}
Я использую команду .map:
df["new_col"] = df.col1.map(dict)
Я пытался использоватьto_numeric
, но это не имело никакого эффекта, и я думаю, что оно не имеет ничего общего с числовыми / строковыми типами данных.
Любая помощь будет оценена как самоучка.Аналитик, который только начинает работать с Python, у меня иногда возникают проблемы с поиском ответов в документации.