我有一个 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() 但不确定如何正确索引字典。
最佳答案
首先创建一个新的字典,只包含你想要从每个列表中得到的值:
new_dict = {k: v[2] for k, v in py_dict.iteritems()}
然后就可以使用Series.map
df['new_col'] = df.colA.map(new_dict)
关于python - 使用 python 字典中的值的新 pandas 数据框列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26153541/