Python:类型错误:numpy.float64

r6l8ljro  于 2023-06-23  发布在  Python
关注(0)|答案(1)|浏览(247)

我定义了以下矩阵:
B = np.outer(v,n1) + W
也就是说:
B = v ^T * n1 + W。
W是分别具有s列和s行的矩阵。向量n1具有s个元素,以及转置向量v。因此,如果你把v和n1相乘(使用np. outer命令),你会得到一个矩阵。
我想计算一下
B[1][1]*1
所以B的第一行第一列的条目。
但我收到了以下错误:
TypeError: can't multiply sequence by non-int of type 'numpy.float64'
问题是,我确实确保了矩阵B只由整数组成。
我需要改变什么?我做了一些研究,我唯一能找到的就是我必须确保我必须使用整数而不是浮点数(我认为)

7vhp5slm

7vhp5slm1#

我认为你应该确保每个变量的类型(np.array)和维度都是你所期望的。我已经尝试了与我自己的变量,我没有得到任何错误。也许如果你分享你的代码,我会更容易帮助你。
也可能是当你放B[1][1]时,你并没有真正获得第一个元素。首先,因为索引从0开始,还因为它取决于元素B是np矩阵还是np数组。
如果你分享完整的代码,我会很乐意帮助你

相关问题