python - 将值映射到 Pandas 列表中的每个项目

标签 python python-2.7 python-3.x pandas

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

相关文章:

python - 如何在不均匀的多类数据集上使用数据增强?

python - 如何根据索引值之间的差异超过一定量级将数据帧分成不均匀的段?

python - Sqlalchemy db.create_all() 不创建表

Python 2.7 名称错误 :

python - 初始化/导入子模块而不污染全局命名空间

python - 无法 pickle 对象 : maximum recursion depth exceeded

security - 如何在 Python 2.7 中安全地验证 HMAC?

python - 如何在后台运行python程序?

python - 当我尝试删除列表中的元素时,它不起作用,任何人都可以解释我为什么这不起作用

python - 如何删除 pytest-html 报告中的环境表