繁体   English   中英

TypeError:'numpy.ndarray'对象不可调用-使用带状/稀疏矩阵

[英]TypeError: 'numpy.ndarray' object is not callable - working with banded/sparse matrices

您好,我尝试创建一个带状矩阵-当我尝试提取上对角线并将零添加到数组时,出现以下错误-“ TypeError:'numpy.ndarray'对象不可调用”

>>> A = np.eye(5, k=-1) -2 * np.eye(5) + np.eye(5, k=1)
>>> udA = np.insert (np.diag(A, 1), 0, 0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'numpy.ndarray' object is not callable
>>>

我在做什么错-我是python的新手。 谢谢。

您正在使用什么numpy版本? 在我的版本(1.9)中,您的代码有效。

我认为在insert函数中使用np.diag是一个问题。

在1.9版本中, np.diag发出以下警告:

如果使用此函数提取对角线并希望写入结果数组,请参见numpy.diagonal详细文档。 返回的是副本还是视图取决于您使用的numpy版本。

我认为在新版本中尝试在可能被分配产生此错误的上下文中使用np.diag 尝试:

np.diag(A,1) = 0

那可能会产生相同的错误。

有关此问题的问题较早,我们需要找到一个好的问题。

填写numpy数组的对角线失败

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM