Py学习  »  Python

使用python字典作为查找表输出新值

sobrio35 • 6 年前 • 1514 次点击  

如果有更好的方法的话,我不喜欢使用字典作为查找表。我已经创建了一个简单的python字典(lkup)作为查找表,它的输入来自df.letter。我想将字典中映射的值输出到一个新列df.newletter中。下面的代码片段一直工作到最后一行的实际赋值。

我试过只使用数字索引,使用键、值、dict.get()和其他一些东西。我很亲近吗?

import pandas as pd

df = pd.DataFrame()
df['letter'] = ['a', 'a', 'c', 'd', 'd']
lkup = {'a':'b', 'b':'c', 'c':'d', 'd':'e', 'e':'f'}

for key in lkup:
    for i in range(0,4):
        if df['letter'][i] in key:
            df['newletter'][i] = [insert_dictionary_value]

我想在df.newletter列中查看映射的字典值。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39508
 
1514 次点击  
文章 [ 1 ]  |  最新文章 6 年前
MrGeek
Reply   •   1 楼
MrGeek    6 年前

您不需要循环来执行此操作,只需使用 df.map :

...
>>> df['newletter'] = df['letter'].map(lkup)
>>> print(df)
  letter newletter
0      a         b
1      a         b
2      c         d
3      d         e
4      d         e