[英]How to efficiently use a dictionary and a list of keys to find a list of values
例如,我有一個 pandas 數據框df
是這樣的:
A B
0 12 ['key1', 'key2']
1 23 ['key3', 'key4']
我有一個這樣的字典dic
:
{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
我想生成一個列df['C']
,這樣列表中的每個元素都是與df['B']
列表中的鍵對應的值:
A B C
0 12 ['key1', 'key2'] ['value1', 'value2']
1 23 ['key3', 'key4'] ['value3', nan]
我怎樣才能以省時的方式實現這一目標? 謝謝!
一種方法是使用 function
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]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.