我有一个带有名称列表的pandas dataframe列,如下所示:
Names
Roger Williams, Anne Graham
Joe Smoe, Elliot Ezekiel
Todd Roger
以及带有user_ids的字典:
map = {Roger Williams: 1234, Anne Graham: 4892, Joe Smoe: 898, Elliot Ezekiel: 8458, Todd Roger: 856}
我需要使用pandas .map函数来使用user_id映射列表中的每个名称,如下所示:
Names user_id
Roger Williams, Anne Graham 1234, 4892
Joe Smoe, Elliot Ezekiel 898, 8458
Todd Roger 856
有人可以帮我做到这一点吗?我真的很难受。谢谢!
最佳答案
利用pd.Series
和astype(str)
df.replace(pd.Series(m).astype(str), regex=True)
Names
0 1234, 4892
1 898, 8458
2 856
设置
df = pd.DataFrame({
'Names': [
'Roger Williams, Anne Graham',
'Joe Smoe, Elliot Ezekiel',
'Todd Roger'
]
})
m = {
'Roger Williams': 1234, 'Anne Graham': 4892,
'Joe Smoe': 898, 'Elliot Ezekiel': 8458, 'Todd Roger': 856
}
关于python - 将值映射到 Pandas 列表中的每个项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44271599/