0

。という名前の(2、500)numpy配列がありcounty_dataます。最初の列を繰り返し処理し、各値が数値と等しいかどうかを確認し、等しい場合はsomeNumber、その行を。というリストに添付しtempます。

これまでの私のコードは次のとおりです。

for entry in county_data:       
    if entry[0] == someNumber:  
        temp.append(entry)  
    print temp

これが私が得るエラーです:

   if entry[0] == code:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

これが何を意味するのかよくわかりません。また、a.any()anda.all()関数は、配列の各行で必要なことを実行していないようです。コードを編集して、配列の各行の最初のエントリが一致することを確認するにはどうすればよいsomeNumberですか?

4

1 に答える 1

3

そうしないでください。代わりに、一度にすべての行にアクセスします (つまり、コードをベクトル化します)。

temp = county_data[county_data[:, 0] == someNumber]
于 2012-08-16T17:14:58.423 に答える