打印总和时的"内置方法总和"奇怪的消息

Son*_*box 0 python numpy

使用Python NumPy计算矩阵列的总和:

import numpy
from StringIO import StringIO

fileName = 'test2.csv'
myFile = open(fileName,'r')
print "Reading data from '%s' ..." % fileName
data = myFile.read() 
myFile.close()

data = numpy.genfromtxt(StringIO(data), delimiter=',', usecols=(0,1,2))
print "Calculating ..."

print data[:,2]
sumA1 = data[:,2].sum
print "shape =", data.shape
print "sumA1 =", str(sumA1)
print "ok"
Run Code Online (Sandbox Code Playgroud)

然后内容test2.csv:

12,13,14,17
1,2,3,4
12,13,14,17
1,2,3,4
12,13,14,17
1,2,3,4
12,13,14,17
1,2,3,4
12,13,14,17
Run Code Online (Sandbox Code Playgroud)

我得到了这个输出

Reading data from 'test2.csv' ...
Calculating ...
[ 14.   3.  14.   3.  14.   3.  14.   3.  14.]
shape = (9, 3)
sumA1 = <built-in method sum of numpy.ndarray object at 0x00FD8EF8>
ok
Run Code Online (Sandbox Code Playgroud)

为什么我不能得到那个奇怪信息的"sumA1 = 82"呢?我究竟做错了什么?

非常感谢你提前.

Tha*_*sas 5

你必须调用该sum函数.只需替换这段代码:

sumA1 = data[:,2].sum
Run Code Online (Sandbox Code Playgroud)

这一个:

sumA1 = data[:,2].sum()
Run Code Online (Sandbox Code Playgroud)