Skip to main content
 首页 » 编程设计

python之如何将具有列表值的字典映射到数据框

2025年05月04日25langtianya

我需要将字典映射到数据框中的列,但当字典中的值在列表中时我不知道该怎么做。理想情况下,我是 pos [0] 中的值的新列,以及 pos [1] 中的值的另一列。

dict = {'foo':['A','B'], 
        'bar':['C','D']} 
 
df = pd.DataFrame([[0,'foo'], 
                   [1,'bar']], columns=['Col1','Col2']) 

如果只有一个字典值,下面是我执行此任务的常用方法。

df['Col3'] = df.Col2.map(dict) 

请您参考如下方法:

Series.map() 也将接受函数,因此您可以传入一个 lambda 函数来包装查找字典并获取您想要的列表项。

dict = {'foo':['A','B'], 
        'bar':['C','D']} 
 
df = pd.DataFrame([[0,'foo'], 
                   [1,'bar']], columns=['Col1','Col2']) 
 
df['Col3'] = df.Col2.map(lambda x: dict[x][0]) 
df['Col4'] = df.Col2.map(lambda x: dict[x][1])