Python 如何将两个dataframe列值作为键传递给一个2键对一值字典,并将结果传递到另一列?

Python 如何将两个dataframe列值作为键传递给一个2键对一值字典,并将结果传递到另一列?,python,pandas,dictionary,Python,Pandas,Dictionary,我有一个字典,里面有两个键用于在单位之间转换:键(UnitA,UnitB)->乘法器 因此{('PCT','PCT'):1.0,('PCT','PPM'):10000.0等) 在我的数据框中,有“UnitA”、“UnitB”和“乘数”列 如何将UnitA和UnitB中的值传递到字典,并将值放入“乘数”中 我可以通过以下方式对单键值字典myDict{('a':'1),('B':2)}执行此操作: df['Col2']=df['Col1'].map(myDict1) 但我不知道如何将两个列值作为两个

我有一个字典,里面有两个键用于在单位之间转换:键(UnitA,UnitB)->乘法器 因此{('PCT','PCT'):1.0,('PCT','PPM'):10000.0等)

在我的数据框中,有“UnitA”、“UnitB”和“乘数”列

如何将UnitA和UnitB中的值传递到字典,并将值放入“乘数”中

我可以通过以下方式对单键值字典myDict{('a':'1),('B':2)}执行此操作: df['Col2']=df['Col1'].map(myDict1)

但我不知道如何将两个列值作为两个键传递: e、 g.df['Multiplier']=df['UnitA','UnitB'].map(myDict2)

您可以创建一个多索引:

df1=df.set_index(["UnitA", "UnitB"])
然后

my_dict = df1.to_dict()["Multiplier"]

我找到了这个似乎对我有效的解决方案