两个指定列中的Vlookup

2024-10-02 20:43:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个hc数据框,其中包含两列,名为“上一个成本中心”和“当前成本中心”,我想添加两个名为“上一个/当前分组”的新列,该列应填充基于映射表的成本中心分组,该表中有两列名为“成本中心”和“分组”。在

在excel中,我只需要应用vlookup来填充每个列中基于成本中心的字段,并通过映射表进行映射。在

我一直在玩合并功能,但我不能让它工作。在

如何将基于指定列的数据帧合并到指定列中?在

HC列表:

    ID Cost Center Previous Cost Center Curent
0    1                    A                NaN
1    2                    B                  C
2    3                  NaN                NaN
3    4                    D                  D
4    5                    F                  F
5    6                  NaN                  A
6    7                    A                  B
7    8                  NaN                  B
8    9                    A                  C
9   10                    B                  D
10  11                    D                  F
11  12                    C                NaN

映射:

成本中心分组

^{pr2}$

输出:

    ID Cost Center Previous Grouping Previous Cost Center Current Grouping Current
0    1                    A              XERX                 NaN              NaN
1    2                    B                ID                   C             BLOC
2    3                  NaN               NaN                 NaN              NaN
3    4                    D              KLRO                   D             KLRO
4    5                    F               SDF                   F              SDF
5    6                  NaN               NaN                   A             XERX
6    7                    A              XERX                   B               ID
7    8                  NaN               NaN                   B               ID
8    9                    A              XERX                   C             BLOC
9   10                    B                ID                   D             KLRO
10  11                    D              KLRO                   F              SDF
11  12                    C              BLOC                 NaN              NaN

Tags: 数据hcidcurrentnan中心成本center
1条回答
网友
1楼 · 发布于 2024-10-02 20:43:32

假设HC和{}是{}s

解决方案

grouping = grouping.set_index('Cost Center')
HC['Grouping Current'] = HC['Cost Center Current'].apply(lambda x: grouping.ix[x])
HC['Grouping Previous'] = HC['Cost Center Previous'].apply(lambda x: grouping.ix[x])

相关问题 更多 >