Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中从布尔向量获取间隔的最快方法_Python_Numpy - Fatal编程技术网

python中从布尔向量获取间隔的最快方法

python中从布尔向量获取间隔的最快方法,python,numpy,Python,Numpy,我有一个布尔向量 v=[True,True,True,False,True,True,False,False,True,True,False,True] 我想得到包含True值的间隔 #intervals in the format: [start,stop] [[0,2], [4,5], [8,9], [11,11]] python中是否有任何常用函数(比如在numpy中)可以做到这一点。不一定是最快的,但可能是最短的。新的prepend和append关键字到np.diff对于此类任

我有一个布尔向量

v=[True,True,True,False,True,True,False,False,True,True,False,True]
我想得到包含
True
值的间隔

#intervals in the format: [start,stop]
[[0,2],
 [4,5],
 [8,9],
 [11,11]]

python中是否有任何常用函数(比如在
numpy
中)可以做到这一点。

不一定是最快的,但可能是最短的。新的
prepend
append
关键字到
np.diff
对于此类任务非常方便

np.flatnonzero(np.diff(v, prepend=False, append=False)).reshape(-1, 2) - (0, 1)

您的索引甚至与副本相似。我想知道这是否是我们认为是随机分组的事情。这是巧合。如果有人问过这个问题,我首先环顾四周。我没有找到那个(重复的)。无论如何,我的问题的不同之处在于,我想知道最快的方法。我的建议是在这里得到答案,并将其与另一个问题中的答案进行比较。