首页 > 解决方案 > Pandas - 使用列中的值作为单独字典中的键

问题描述

我有一个字典,其中键是名称,值是另一个字典。例如:

dict1 = {name1: {...}, name2: {...},...}

df我还有一个带有“A”和“B”列的 Pandas 数据框。我想使用这些列值作为dict1. 例如,对于每一行,“A”中的值用作键dict1,“B”中的值用作内部字典的键,结果放在 C 列中。

我正在尝试类似df[C] = dict1[df[A]][df[C]]df[C] = df[[A,B]].apply(lambda x,y: dict1[x][y])但似乎没有任何效果的事情。理想情况下,我希望在没有类似df.itertuples().

示例 df 行(A,B):

'key1' | 'key2'

我想要以下(A,B,C):

'key1' | 'key2' | dict1['key1']['key2']

标签: pythonpandasdataframedictionary

解决方案


你很接近 - 只需要修改你的代码apply。尝试df['C'] = df.apply(lambda row: dict1[row.A][row.B], axis=1)


推荐阅读