我有一个包含三个感兴趣的列的DataFrame。我正在尝试根据其他两个信息列在一个列中填写值。
Excel中的等效方法是将“国家/地区”和“服务”串联到查找表的另一列,然后对串联在实时数据上的这些列进行vlookup。事实证明,将其转换为Python / Pandas是很棘手的
使用.apply
查找其他类似的答案(我发现的唯一答案仅与单列查找有关),并定义一个函数似乎是我需要去的地方。不过,我正在努力解释其工作原理。还是将查找表放入某种类型的多级字典中会更有意义?
初始数据框:
Price Country Service
0 0 GB A
1 0 FR A
2 0 FR A
3 0 GB B
4 0 GB B
5 0 FR B
6 0 GB C
7 0 GB C
查找:
Country Service Price
GB A 0.1
FR A 0.2
GB B 0.8
FR B 1.2
GB C 0.5
FR C 0.2
结果数据框:
Price Country Service
0 0.1 GB A
1 0.2 FR A
2 0.2 FR A
3 0.8 GB B
4 0.8 GB B
5 1.2 FR B
6 0.5 GB C
7 0.5 GB C