如何基于两列查找来更新数据框中的值

时间:2019-03-29 13:28:05

标签: python pandas

我有一个包含三个感兴趣的列的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

0 个答案:

没有答案