我为numpy.sum输出了错误的输出

时间:2016-04-14 07:00:41

标签: python numpy

我有numpy.ndarray类型的变量X

X = 
[[ 0.44381946  0.27899923  0.4949196 ]
 [ 0.84257149  0.30482022  0.62306499] 
 [ 0.59696025  0.36293078  0.42723482]
 [ 0.85710666  0.61489953  0.58918237]
 [ 0.99383178  0.88306841  0.85875682]] 

当我使用numpy.sum(X,axis = 1)沿列求和时,我得到它作为输出

 [-2.7922436  -1.83243432 -2.37986939 -1.16950882 -0.28280943]

这显然是错误的(X中没有负数)。我做错了什么?

1 个答案:

答案 0 :(得分:2)

数组定义不正确。您需要在每行上的元素之间使用逗号,并在每个数组行中的数字之间使用逗号。请参阅下面的正确语法。

Python(保存在文件numpyArray.py中)

import numpy as np
X = np.array([[ 0.44381946,  0.27899923,  0.4949196 ],
              [ 0.84257149,  0.30482022,  0.62306499], 
              [ 0.59696025,  0.36293078,  0.42723482],
              [ 0.85710666,  0.61489953,  0.58918237],
              [ 0.99383178,  0.88306841,  0.85875682]])

print(np.sum(X,axis=1))

<强>输出

> python -i numpyArray.py 
>>> [1.21773829  1.7704567   1.38712585  2.06118856  2.73565701]