Python 如何创建字典?

Python 如何创建字典?,python,Python,我需要将代码的结果绘制在带有子图的直方图中: for key, val in plots_train.items(): print(key) count += 1 plt.title('Source : {}'.format(key) , fontsize=9) plt.subplot(nsources,1,count) plt.xlabel('Timestamp', fontsize=5) plt.ylabel('Network Counter'

我需要将代码的结果绘制在带有子图的直方图中:

for key, val in plots_train.items():
    print(key)
    count += 1
    plt.title('Source : {}'.format(key) , fontsize=9)
    plt.subplot(nsources,1,count)
    plt.xlabel('Timestamp', fontsize=5)
    plt.ylabel('Network Counter', fontsize=5)
    X=[]
    Y=[]
    X_max = 0
    for train_key,train_val in plots_train[key].items():
        X.extend(train_val)
        Y.extend(range(1,len(train_val)+1))
        results = sm.OLS(Y, sm.add_constant(X)).fit()
        print('params('+str(key)+','+str(train_key)+') = '+str(results.params))
这是打印的结果:

key: 02141592cc00000003
params(02141592cc00000003,02141592cc00000005) = [6.46004216e-10]
params(02141592cc00000003,02141592cc00000001) = [4.17321446e-19 6.46004215e-10]
params(02141592cc00000003,02141592cc00000006) = [4.17321444e-19 6.46004214e-10]
params(02141592cc00000003,02141592cc00000003) = [8.80603595e-17 1.36315765e-07]
我需要钥匙02141592C00000003,以便:

{02141592cc00000003:{02141592cc00000005:[6.46004216e-10],02141592cc00000006:[4.17321444e-19 ],02141592cc00000003:[8.80603595e-17]}

然后我想把它们画成柱状图

要获得您在问题中提到的输出,您可以从定义一个空字典开始:

plot_dict = {}
# print(plot_dict)
# {}
在第一个for循环和进入第二个for循环之前,添加以下内容:

plot_dict[key] = {}
# print(plot_dict[key])
# {02141592cc00000003: {}}
然后在第二个for循环中,在获得结果后:

plot_dict[key][train_key] = results.params
# print(plot_dict[key][train_key]
# {02141592cc00000003: {02141592cc00000005: [6.46004216e-10]}}

希望这能有所帮助。

如果没有数据和其他代码,我们无法运行您的代码。请阅读@Bazingaa我已经编辑了我的问题;我无法放置数据,因为我有一个巨大的数据集。我的问题只与我在那里显示的数据有关。非常感谢,但它只给了我这个错误
KeyError:'02141592C00000001'
您能指定给出错误的行吗?
plot\u dict[key][train\u key]=结果.params
例如,在我有钥匙的示例中,
02141592C00000003
必须有三个不同的序列号钥匙和三个不同的结果.params。所以,密钥是重复的,我看到密钥
02141592C00000003
将被复制。这就是为什么我使用嵌套词典,即词典中的词典。