首页 > 解决方案 > Python 循环遍历 DataFrame 和 Dictionary

问题描述

我有一个如下所示的数据框

0   1   2
A   X   +2
B   Y   +3
C   Z   +1+2

还有一个看起来像下面的字典

    dict = { "1":"A", "2":"B", "3":"C", }

我正在尝试循环创建以下内容(有效地从字典中查找字母并用正确的字母替换数据框中的数字,同时保留“+”s)

    0   1   2
    A   X   +B
    B   Y   +C
    C   Z   +A+B

任何指针将不胜感激!

标签: pythonpandaslist-comprehension

解决方案


您可以使用替换

import pandas as pd

d = {"1": "A", "2": "B", "3": "C", }

data = [['A',  'X', '+2'],
        ['B',  'Y', '+3'],
        ['C',  'Z', '+1+2']]

df = pd.DataFrame(data=data)

df[2] = df[2].str.replace('\d+', lambda x: d[x.group()])

print(df)

输出

   0  1     2
0  A  X    +B
1  B  Y    +C
2  C  Z  +A+B

推荐阅读