为什么numpy.ndarray是对象在我的简单python循环中不可调用

mee*_*mee 10 python numpy

我加载了一个包含两列矩阵的文本文件(例如下面)

[ 1   3
  2   4
  3   5 
  2   0]
Run Code Online (Sandbox Code Playgroud)

我的计算只是对每一行求和,即1 + 3,2 + 4,3 + 5和2 + 0.我使用以下代码:

data=np.loadtxt(fname="textfile.txt")## to load the above two column
xy= data
for XY in xy:
   i=0  
   Z=XY(i,0)+XY(i,1)
   i=i+1      
   print (Z)
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误说numpy.ndarray object is not callable.为什么会这样?我该怎么做这个简单的计算?谢谢.

小智 32

错误TypeError:'numpy.ndarray'对象不可调用意味着您尝试将numpy数组作为函数调用.

使用

Z=XY[0]+XY[1]
Run Code Online (Sandbox Code Playgroud)

代替

Z=XY(i,0)+XY(i,1)
Run Code Online (Sandbox Code Playgroud)


tfv*_*tfv 8

避免循环.你想要做的是:

import numpy as np
data=np.loadtxt(fname="data.txt")## to load the above two column
print data
print data.sum(axis=1)
Run Code Online (Sandbox Code Playgroud)


小智 7

有时,当函数名和存储函数返回的变量名相同时,会显示错误。刚刚发生在我身上。