Python 计算numpy数组中元素连续满足条件的次数
我有一个numpy数组,如下所示:Python 计算numpy数组中元素连续满足条件的次数,python,numpy,Python,Numpy,我有一个numpy数组,如下所示: import numpy as np a = np.array([1, 4, 2, 6, 4, 4, 6, 2, 7, 6, 2, 8, 9, 3, 6, 3, 4, 4, 5, 8]) 一个常数b=6 我正在搜索一个数字c,它由a中元素连续小于b 2次或更多次的次数定义 在这个例子中,它是c=3 我没有工作代码,这就是为什么我在这里问这个问题。基于a,我可以使用np.suma你可以使用numpy masking和itertools.groupby 这可能不
import numpy as np
a = np.array([1, 4, 2, 6, 4, 4, 6, 2, 7, 6, 2, 8, 9, 3, 6, 3, 4, 4, 5, 8])
一个常数b=6
我正在搜索一个数字c,它由a中元素连续小于b 2次或更多次的次数定义
在这个例子中,它是c=3
我没有工作代码,这就是为什么我在这里问这个问题。基于a,我可以使用np.suma你可以使用numpy masking和itertools.groupby
这可能不清楚,但条件是由a连续至少2次低于b的次数来定义的,因此c=3供将来参考:如果您亲自分享解决问题的尝试,您通常会得到更积极的响应,即使该尝试无效或无效。
print(np.sum(a<b))
#12
from itertools import groupby
b = 6
sum(len(list(g))>=2 for i, g in groupby(a < b) if i)
#3