簡體   English   中英

如何有效地使用字典和鍵列表來查找值列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM