我有一个 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/