无法填充嵌套字典并保留以前填充的密钥。看这个例子:
fulldict={}
keys=['key1', 'key2', 'key3']
for key in keys:
for i in xrange(3):
x1 = np.random.randn(10)
y1 = np.random.randn(10)
fulldict[key] = {i:pd.DataFrame({'x1':x1, 'y1': y1})}
我的意图是fulldict['key1']
应该包含3个字典,密钥为0,1,2。但只存储了最后一个键(2)。
任何赞赏的建议
答案 0 :(得分:1)
您每次都会重新分配fulldict[key]
,因此请初始化fulldict[key] = {}
并使用i
作为关键字:
for key in keys:
fulldict[key] = {}
for i in xrange(3):
x1 = np.random.randn(10)
y1 = np.random.randn(10)
fulldict[key][i] = pd.DataFrame({'x1':x1, 'y1': y1})
答案 1 :(得分:0)
或者你可以诉诸内部词典的dict理解(保存一些查找):
import numpy as np
fulldict={}
keys=['key1', 'key2', 'key3']
draw = np.random.randn
for key in keys:
fulldict[key] = {i: pd.DataFrame({'x1': draw(10), 'y1': draw(10)})
for i in xrange(3)}