目前我的字典看起来像这样:
{'a':[1,2,3,0,0],'b':[1,5,2,1,4], 'c':[1,2,4,12,1]}
我正在尝试从这本词典中创建一个协方差矩阵。我已经有一个定义的协方差函数,所以理想情况下输出看起来像这样(连同键作为行和列的标签):
a b c
a
b
c
第i行第j列输出将调用协方差函数并且具有键i的值(向量)和键j的值(向量)作为其输入。例如:
covariance([1,5,2,1,4],[1,2,4,12,1])
我现在正在做这样的事情来打印所有的协方差,但我更喜欢它以矩阵形式:
keys=dictionary.keys()
values=dictionary.values()
for counter in range(len(values)-1):
print keys[counter]-1 + '&' + keys[counter] + ':' + covariance(values[counter-1],values[counter])
counter+=1
给了我:
a & b: 0.10
b & c: 0.20
但与& ç
任何帮助将不胜感激。感谢。
答案 0 :(得分:1)
有时候,梦幻般的numpy,scipy和Pandas家族来救援。 快速尝试一下你可以试试
import pandas as pd
df = pd.DataFrame({'a':[1,2,3,0,0],'b':[1,5,2,1,4], 'c':[1,2,4,12,1]})
covariance = df.cov()