2012-08-16 187 views
0

我有一個(2,500)numpy數組,名爲county_data。我想迭代第一列,檢查每個值是否等於someNumber,如果是,則將其行附加到名爲temp的列表中。遍歷numpy多維數組的一列?

這是到目前爲止我的代碼:

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()a.all()功能不似乎做了我想要的數組中的每一行。如何編輯我的代碼以檢查數組每一行中的第一個條目是否匹配someNumber

回答

3

不要這樣做。相反,訪問所有行一次(即矢量化您的代碼):

temp = county_data[county_data[:, 0] == someNumber] 
+0

謝謝!似乎運作良好。 – SVenkatesh 2012-08-16 17:47:04