更新嵌套字典,其根键与特定数据帧的索引与所述数据帧的值匹配

Updating a nested dictionary whose root keys match the index of a certain dataframe with said dataframe’s values

我有一个嵌套的字典,它在整个过程中都是统一的(即每个二级字典都有相同的键)。

{
  '0': {'a': 1, 'b': 2},
  '1': {'a': 3, 'b': 4},
  '2': {'a': 5, 'b': 6},
}

和下面的数据框

    c
0   9 
1   6
2   4

有没有办法(不用 for 循环)update/map dict/key-values 这样我得到

{
  '0': {'a': 1, 'b': 2, 'c': 9},
  '1': {'a': 3, 'b': 4, 'c': 6},
  '2': {'a': 5, 'b': 6, 'c': 4},
}

试试这个

# input
my_dict = {
  '0': {'a': 1, 'b': 2},
  '1': {'a': 3, 'b': 4},
  '2': {'a': 5, 'b': 6},
}
my_df = pd.DataFrame({'c': [9, 6, 4]})
# build df from my_dict
df1 = pd.DataFrame.from_dict(my_dict, orient='index')
# append my_df as a column to df1
df1['c'] = my_df.values
# get dictionary
df1.to_dict('index')

但我想在这里一个简单的循环会更有效率

for d, c in zip(my_dict.values(), my_df['c']):
    d['c'] = c
my_dict
{'0': {'a': 1, 'b': 2, 'c': 9},
 '1': {'a': 3, 'b': 4, 'c': 6},
 '2': {'a': 5, 'b': 6, 'c': 4}}