Python 计算列表的平均值

Python 计算列表的平均值,python,numpy,dictionary,Python,Numpy,Dictionary,我想计算向量列表的平均值。但收到了错误消息 ValueError Traceback (most recent call last) <ipython-input-1293-04753fc36464> in <module>() 13 else: 14 NOT_FOUNT.append(j) ---> 15 Q_VEC.append(np

我想计算向量列表的平均值。但收到了错误消息

ValueError                                Traceback (most recent call last)
<ipython-input-1293-04753fc36464> in <module>()
     13         else:
     14             NOT_FOUNT.append(j)
---> 15     Q_VEC.append(np.mean(DOC, axis=0))
     16     QUERY.append(WORD)
     17     #print(WORD, Q_VEC)

ValueError: setting an array element with a sequence.
数据:

 W_LIST

 [['professional', 'training', None, None, 
None, None, None, None, None, None],
['undergraduate', 'management', None, None, 
None, None, None, None, None, None],
['professional', 'management', None, None, 
None, None, None, None, None, None]]

D_FINAL

{'professional': array([ -1.5453218 ,  
-2.9101162 ,  -1.7782371 ,  -0.7723548]),
'undergraduate': array([-5.044174  , 
-5.768703  ,  0.23328705,  1.6166878]),
'management': array([  0.9067916 ,  
-0.37680042,   2.2666857 ,  -1.3643779]),
'training': array([ -4343.5654  ,    
166.61334 ,  -4708.429   ,  11363.863])}
我想计算W_列表的平均值,基于D_FINAL中的向量值

“专业培训”(将保存到“查询”)向量值

[(-1.5453218)+(-4343.5654)/2,  (-2.9101162)+ 
(166.61334 )/2, (-1.7782371)+(-4708.429)/2, 
(-0.7723548)+(11363.863)/2]
平均向量将保存到“Q_VEC”


谢谢大家!

我发现字典中的元素长度不同,修复后,问题就解决了。

当询问产生异常的代码时,您应该始终在问题中包含完整的回溯。复制回溯并将其粘贴到问题中,然后将其格式化为代码(选择它并键入ctrl-k)。我已经添加了它,谢谢。我无法用示例数据/代码重现异常。当您执行以下操作时,会发生错误/异常:
a=np.arange(5);[0]=[1,2,3]
。并检查/打印套件中的相关数据。或者只在有问题的行之前打印数据。这将为您提供一个开始的位置。您使用的是哪个版本的Numpy?我假设
np
是Numpy。我用的是1.14.3。也许可以尝试获取最新版本?试试这个:
Q\u VEC.append(np.mean(np.array(DOC),axis=0))
。可能在您的
numpy
版本中,使用numpy数组列表是导致此错误的原因。
[(-1.5453218)+(-4343.5654)/2,  (-2.9101162)+ 
(166.61334 )/2, (-1.7782371)+(-4708.429)/2, 
(-0.7723548)+(11363.863)/2]