【发布时间】:2018-09-16 12:57:15
【问题描述】:
我有一个numpy 布尔数组
w=np.array([True,False,True,True,False,False,False])
我想得到第一次在n_at_least 处有假值的索引。
比如这里
`n_at_least`=1 -> desired_index=1
`n_at_least`=3 -> desired_index=4
我试过了
np.cumsum(~w)
每次遇到False 值时都会增加。
但是,当遇到 True 时,计数器不再从 0 开始,所以我只得到 False 元素的总数,而不是最后一个连续元素的计数。
【问题讨论】:
-
为什么
desired_index=4a_at_least是 3 ? -
@liliscent 我认为
n_at_least是False发生所需的次数。所以False连续出现3次的序列的起始索引是4 -
@DavidG 听起来不错。我误解了所有
False的最后一个索引。
标签: python numpy boolean cumsum