我正在尝试找出如何更新字典以解决数据帧中可能发生的更改的问题。
说我有以下df:
color name
red Jim
我想像这样更新字典:
dict = dict.update({df['color'] : df['name'})
这会给我dict = {'red' : 'Jim'}
经过另一次迭代,df可能看起来像
color name
green Pam
再次更新字典后,我将拥有:
dict = {'red' : 'Jim', 'green' : 'Pam'}
答案 0 :(得分:4)
您可以压缩感兴趣的两列,然后调用dict.update
:
mydict.update(zip(df['color'], df['name']))
或者,
# update works with Series too
mydict.update(df.set_index('color')['name'])
最小代码示例
df
color name
0 red Jim
df2
color name
0 green Pam
d = {}
d.update(zip(df['color'], df['name']))
d.update(df2.set_index('color')['name'])
d
# {'green': 'Pam', 'red': 'Jim'}
答案 1 :(得分:2)
您可以在此处进行for循环
for _, y in df.iterrows():
d[y['color']]=y['name']