2

我将 Python 与numpy.

我有一个 numpy 数组b

b = np.array([True,True,True,False,False,True,True,False,True,True,True,True,False])

我需要找到bequal的第一个和最后一个索引True

对于此示例:

out_index: [0,2]
           [5,6]
           [8,11]

有人可以建议,我怎么得到out_index

4

1 回答 1

6
b = np.array([True,True,True,False,False,True,True,False,True,True,True,True,False])
idx = np.argwhere(np.diff(np.r_[False, b, False])).reshape(-1, 2)
idx[:, 1] -= 1
print idx

输出:

[[ 0  2]
 [ 5  6]
 [ 8 11]]
于 2013-02-28T12:10:12.443 回答