我有一个包含2列的hc数据框,名为“Previous Cost Center”& “当前成本中心”并且想要添加两个名为“上一个/当前分组”的新列,其应该基于具有两个名为“CostCenter”&的列的映射表来填充成本中心的分组。分组。
在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
映射:
成本中心分组
0 A XERX
1 B ID
2 C BLOC
3 D KLRO
4 E PPP
5 F SDF
6 G D
输出:
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
答案 0 :(得分:0)
假设HC
和grouping
为DataFrame
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])