【发布时间】:2016-01-13 18:41:12
【问题描述】:
我有一个嵌套字典,如下所示
dictA = {X:{A: 0.2, B:0.3, C:0.4} ,Y:{A: 0.05, B:0.8, C:0.1},Z:{A: 0.15, B:0.6, C:0.25}}
我想创建一个数据框,其中第一个键对应于索引,嵌套字典的键是列标题。例如,
A B C
X 0.2 0.3 0.4
Y 0.05 0.8 0.1
Z 0.15 0.6 0.25
我知道我可以将外部字典中的键提取到列表中(使用列表理解):
index_list = [key for key in dictA.iterkeys()]
然后将嵌套字典合并成一个字典:
dict_list = [value for value in dictA.itervalues()]
final_dict = {k: v for dict in dict_list for k, v in dict.items()}
最后我可以通过以下方式创建我的df:
df = pd.DataFrame(final_dict, index = index_list)
问题是我需要将正确的值映射回正确的索引,当字典的普通变化时这很困难。
我想有一种与我上面建议的完全不同且更有效的方法,请帮忙?
【问题讨论】:
标签: python dictionary pandas nested dataframe