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 个回答
2
你可以试试这样的做法
b = your_array[:,0]
condition = (b>12) & (b<16)
new_array = your_array[condition]
0
使用 filter
和 lambda
:
filtered_array = numpy.array(filter(lambda row: 12<row[0]<16, array))