迭代一个numpy多维数组的一列?

时间:2012-08-16 17:10:19

标签: multidimensional-array numpy

我有一个名为county_data的(2,500)numpy数组。我想迭代第一列,检查每个值是否等于数字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()a.all()函数似乎对数组中的每一行都没有做我想做的事情。如何编辑我的代码以检查数组每行中的第一个条目是否与someNumber匹配?

1 个答案:

答案 0 :(得分:3)

不要那样做。相反,一次访问所有行(即 vectorize 您的代码):

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