我将矩阵(使用NumPy创建)中的每个值与变量的值进行比较。但我一直有个错误:
File "main.py", line 63, in findClusters if(val<=nearest): ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
我试着打印出这个值,它不是一个数组,而是一个浮点值。当我给出all(val)时,错误是“float is not iterable”我的代码有什么问题
for i in range(0,count):
nearest = 99999.99
for ctr in center:
val = mtrx.item((ctr,i))
if(val<=nearest):
nearest = mtrx[ctr][i]
centerassign = ctr
检查
val
和nearest
。一个或另一个,或两者都是数组(或numpy矩阵)。比较的结果是一个数组多值。但是Pythonif
需要一个布尔值有关
ValueERROr, The truth value ...
的许多问题,请查看相关侧边栏最初
nearest
是标量,但在以后的循环中它被设置为:mtrx[ctr][i]
假设
mtrx
是np.matrix
,注意索引操作仍然可能返回一个2d数组,一个矩阵如果要从矩阵中选择项,请使用
mtrx[ctr,i]
。不要使用顺序括号([][]
)-除非你清楚地理解它们在做什么相关问题 更多 >
编程相关推荐