Python错误:只能将大小为1的数组转换为python标量

时间:2018-09-04 14:18:41

标签: python numpy

我收到此错误。我应该注意,在我的实用程序文件中,“ funcbarsq”是一个函数,定义为另一个函数funcbar与自身funcbar之间的四个向量点积。其中使用了四个向量点积的另一种定义。因此,定义了一个四维点积运算,定义了funcbar,并且将funcbarsq定义为funcbar*funcbar = funcbarsq的4D点积。

C:\utilityfile in function(x, y, z, q, r, l, m, n)
    116 
    117 def function(x,y,z, q, r, l, m, n):
--> 118     val = np.abs(funcbarsqr/(float(q**2))
    119     return val
    120 

TypeError: only size-1 arrays can be converted to Python scalars

1 个答案:

答案 0 :(得分:2)

您正在将q**2传递到float()。如错误消息所述,该值(因此为q)应该是一个只有个元素的数组。在您的情况下,不是这样,而这就是错误的出处。