我有一个带有名称列表的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/

10-12 20:30