我如何将两个数据框列值作为键传递给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键到一个值字典,然后将结果传递到另一列?的主要内容,如果未能解决你的问题,请参考以下文章

如果数据框列值匹配字典键,检查不同的列是不是匹配字典值

将一个数据框列值传递给另一个数据框过滤条件表达式 + Spark 1.5

如何将键映射到多个值到数据框列?

将字典键设为行,将字典值设为列,一个值作为列名,一个作为列值

将字典转换为数据框,键作为列名,键值作为数据框的列值

Python Pandas:如何将数据框列值设置为 X 轴标签