2016-04-19 9 views
-2

を使用し、これは私のコードです:Pythonエラー:複数の要素を持つ配列の真理値はあいまいです。 a.any()またはa.all()私は、リスト内の項目を比較したい

for i in range(200): 
     if g[i]==1 and d[4]==1: 
      TP += 1 
     elif g[i]==1 and d[4]==0: 
      FP += 1 
     elif g[i]==0 and d[4]==1: 
      FN += 1 
     elif g[i]==0 and d[4]==0: 
      TN += 1 

と、私はこのエラーを得た:

の真理値複数の要素を持つ配列はあいまいです。 a.any()またはa.all()を使用

私は上で推奨されたように構文を使用する方法、それを解決する方法を知らない、ありがとう。

+0

「g」の種類は何ですか? 'd'の? – filaton

+0

gは、整数の配列、リストです。 dも配列です。 – mfathirirhas

+0

それは実際には論理演算子のエラーではない、私は2次元配列 – mfathirirhas

答えて

2

コメントで著者が述べたように、dは、2次元のナンパー配列です。

答えはthatです.Numpyの多次元配列を比較するには、実行する比較の種類が必要です(いずれの要素もビットごとにtrueまたはすべての要素がビットごとにtrue)。
これは、(g[i] - d[4]).any()または(g[i] - d[4]).all()を使用して、比較の種類を指定する必要がある理由です。

+0

解決されましたが、実際には論理演算子のエラーではありませんが、私は1d配列のように2d配列にアクセスしていました。 – mfathirirhas

関連する問題