首页 > 解决方案 > 将 series.map 与多键字典一起使用

问题描述

我有一个带有 3 个键的 Python 字典,它是使用以下代码创建的。字典非常大 - 大约 100,000 行。

t1=list(zip(df.Col1, df.Col2,df.Col3))
d_dict= dict(list(zip(t1,df.Col4)))

我现在有一个单独的数据框,它也非常大,有 3 列与字典键匹配。我想将 series.map(d_dict) 应用于此以优化一些代码。我怎样才能做到这一点?

我目前正在使用以下代码,该代码在 nan 上有错误并且需要很长时间

s1 = df2.apply(lambda x: d_dict[x.Col1,x.Col2,x.Col3], axis=1)
s1= df2.map(d_dict)

是我要寻找的那种代码

标签: pythondictionaryseriesmultikey

解决方案


我通过将 3 个键转换为文本“1,0,1”然后将我的字典设为文本“1,0,1: 2341”并使用单键使用 series.map(dict) 来解决此问题。


推荐阅读