例如,我有一个熊猫数据帧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]