我需要将字典映射到数据框中的列,但当字典中的值在列表中时我不知道该怎么做。理想情况下,我是 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])
