如何有效地使用字典和键列表来查找值列表



例如,我有一个熊猫数据帧df,如下所示:

A  B
0  12  ['key1', 'key2']
1  23  ['key3', 'key4']

我有一本字典dic,像这样:

{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}

并且我想要生成列CCD_ 3,使得其中列表中的每个元素都是与df['B']:

A  B                 C
0  12  ['key1', 'key2']  ['value1', 'value2']
1  23  ['key3', 'key4']  ['value3', nan]

我如何才能以高效的方式实现这一点?谢谢

一种方法是使用函数

def check_dictionary(list_of_keys):
return [dic[x] for x in list_of_keys if x in dic]
df['C']=df['B'].apply(check_dictionary)

另一种方法是使用lambda:

df['C']=df['B'].apply(lambda row: [dic[key] for key in row if x in dic] 

最新更新