2012-08-16 143 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