我如何将两个数据框列值作为键传递给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