随着数据框的变化更新字典键/值对

时间:2019-06-29 14:46:38

标签: python pandas

我正在尝试找出如何更新字典以解决数据帧中可能发生的更改的问题。

说我有以下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'}

2 个答案:

答案 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']