社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

sobrio35 • 5 年前 • 1446 次点击  

如果有更好的方法的话,我不喜欢使用字典作为查找表。我已经创建了一个简单的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
 
1446 次点击  
文章 [ 1 ]  |  最新文章 5 年前
MrGeek
Reply   •   1 楼
MrGeek    5 年前

您不需要循环来执行此操作,只需使用 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