我有一个pandas数据帧,例如:
colA colB
code1 num
code2 num
code3 num
code4 num
code5 num
我也有一个python字典,例如:
py_dict = {'code1': [val1, val2, val3, val4, val5], 'code2': [val1, val2, val3, val4, val5], 'code3': [val1, val2, val3, val4, val5], 'code4': [val1, val2, val3, val4, val5], 'code5': [val1, val2, val3, val4, val5]}
我想要做的是在pandas数据帧中创建一个新列,称之为colC,它使用colA中的键来匹配py_dict中的相应键/列表,并返回第三个列表值val3。我已经尝试过dataframe.from_dict()和dataframe.update(),但不确定如何正确索引字典。
答案 0 :(得分:1)
首先创建一个只包含每个列表所需值的新dict:
new_dict = {k: v[2] for k, v in py_dict.iteritems()}
然后您可以使用Series.map
df['new_col'] = df.colA.map(new_dict)