我加载了一个包含两列矩阵(例如下)
[ 1 3
2 4
3 5
2 0]
字符串
我的计算只是对每行求和,即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)
型
但是我收到了一个错误,说numpy.ndarray object is not callable
。为什么会发生这种情况?我怎么能做这个简单的计算呢?- 谢谢-谢谢
6条答案
按热度按时间qybjjes11#
错误TypeError:“numpy.ndarray”对象不可调用意味着您尝试将numpy数组作为函数调用。
使用方式
字符串
而不是
型
0tdrvxhp2#
有时,当函数名和存储函数返回的变量名相同时,显示错误。就发生在我身上。
4jb9z9bj3#
避免循环。您要执行的操作是:
字符串
exdqitrt4#
避免使用for循环
for XY in xy:
,而是阅读numpy数组是如何索引和处理的。Numpy Indexing
如果你正在处理矩阵,也要尽量避免使用.txt文件。尝试使用.csv或.npy文件,并使用Pandas数据库加载它们只是为了清晰起见。
wribegjk5#
不是上面的例子,但有时会发生这个错误,因为你忘记为numpy.ndarray指定括号[]而不是括号。例如在for循环中编写arr(x,y),在arr中探索x和y,而不是它的正确形式:arr[x,y]。
shstlldc6#
我有一个名为“open”的变量,所以当我试图使用函数“open”时,程序一直在调用“open”变量而不是“open”函数。于是我找到了两个解决办法:
1.重命名变量
1.在调用“open”函数之前删除变量