【发布时间】:2019-11-14 10:02:20
【问题描述】:
我有一个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 中的元素连续 2 次或更多次小于 b 的次数定义。
所以在这个例子中是c=3
我没有工作代码,这就是我在这里问的原因。基于previous question,我可以使用np.sum(a<b) 来获得a<b 的次数。
print(np.sum(a<b))
#12
现在我想计算a 连续两次或多次小于b 的次数。
这是此示例a 中的 3 个组的图示:
1, 4, 2, 6, 4, 4, 6, 2, 7, 6, 2, 8, 9, 3, 6, 3, 4, 4, 5, 8 # numbers in a
1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0 # (a<b)
^^^^^^^-----^^^^-----------------------------^^^^^^^^^^--- # (a<b) 2+ times consecutively
1 2 3
【问题讨论】:
-
可能不清楚,但条件是由
a至少连续2次低于b的次数来定义的,所以c=3 -
供将来参考:如果您分享自己解决问题的尝试,通常会得到更积极的回应,即使这种尝试效率低下或不起作用。 How much research effort is expected of Stack Overflow users?.