Numpy:仅获取间隔中具有值的数组行

时间:2014-04-16 22:23:48

标签: python numpy

我有一个numpy数组,其形状为(10,3),看起来像:

10 | xxx | yyy
11 | xxx | yyy
13 | xxx | yyy
14 | xxx | yyy
15 | xxx | yyy
17 | xxx | yyy
19 | xxx | yyy
..............

例如,我想要的是仅提取具有12到16之间第一列值的行。我尝试使用numpy.where(),但我并没有真正成功。

所以我想要的是回归:

13 | xxx | yyy
14 | xxx | yyy
15 | xxx | yyy

2 个答案:

答案 0 :(得分:2)

您可以尝试这样的事情

b = your_array[:,0]
condition = (b>12) & (b<16)

new_array = your_array[condition]

答案 1 :(得分:0)

使用filterlambda

filtered_array = numpy.array(filter(lambda row: 12<row[0]<16, array))