
[英]"The truth value of an array with more than one element is ambiguous" error [Python]
[英]python the-truth-value-of-an-array.. ambigious error
我正在尝试使用numpy乘以2个向量并进行比较,出于某种原因它给了我错误..数据来自我发现的CSV文件
以及更多这种类型的情况,但实际上与我的情况不同。我的代码:
import sys
import numpy as np
data = np.loadtxt(sys.argv[1], delimiter = ',')
X = data[:, 1:]
Y = data[:, 0]
#argv[1] is mnist_train_1vs7vs8.csv
wMatrix=(3,len(X[0]))
np.zeros(wMatrix)
for i in range(0,len(Y)):
maxWx=0
for wIndex in range (0,1):
if ( np.dot(wMatrix[wIndex] ,X[i]) < np.dot(wMatrix[wIndex+1],X[i]) ):
maxWx=wIndex+1
它给我错误:
ValueError: The truth value of an array with more than one element is
ambiguous.
Use a.any() or a.all()`
我只是想将一个向量与相同大小的向量相乘,我不明白为什么它不会让我..帮助..?
如果按照@kindall的建议进行操作并打印出np.dot(wMatrix[wIndex] ,X[i]) < np.dot(wMatrix[wIndex+1],X[i])
您会发现它是一个布尔数组。
您可能应该执行以下操作:
res = np.dot(wMatrix[wIndex] ,X[i]) < np.dot(wMatrix[wIndex+1],X[i])
if res.all():
...
这取决于您实际上在<
:)中的意思。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.