Numpy:获取数组中值在区间内的行

2 投票
2 回答
3005 浏览
提问于 2025-04-18 03:03

我有一个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

使用 filterlambda

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

撰写回答