我使用Python numpy
。
我有一个numpy数组b
:
b = np.array([True,True,True,False,False,True,True,False,True,True,True,True,False])
我需要找到b
等于True
的第一个和最后一个索引。
这个例子:
out_index: [0,2]
[5,6]
[8,11]
有人可以建议,如何获得out_index
?
答案 0 :(得分: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]]