我如何将两个数据框列值作为键传递给2键到一个值字典,然后将结果传递到另一列?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何将两个数据框列值作为键传递给2键到一个值字典,然后将结果传递到另一列?相关的知识,希望对你有一定的参考价值。

我有一个字典,带有两个用于在单位之间转换的键:键(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)

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

答案

您创建了多索引:

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

然后

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

以上是关于我如何将两个数据框列值作为键传递给2键到一个值字典,然后将结果传递到另一列?的主要内容,如果未能解决你的问题,请参考以下文章