【发布时间】:2019-03-13 11:47:49
【问题描述】:
我有一个像这样的 numpy 数组:
array([100, 100, 100, 100, 100, 200, 100, 100, 100, 100, 100, 100, 100,
100, 200, 100, 100, 100, 100, 100, 100, 100, 100, 200, 100, 100,
100, 100, 100, 100, 100, 200, 100, 100, 100, 100, 100, 100, 100,
100, 200, 100, 100, 100, 100, 100, 100, 100, 100, 200, 100, 100,
100, 100, 100, 100, 100, 300, 100, 100, 100])
我需要计算“100”个元素的连续数量。 '100' 元素由大于 100 的值分隔。
输出应如下所示:
[5,8,8,7,8,8,7,3]
【问题讨论】:
-
使用 for 循环将计数附加到列表中 for i in c: if(i == 100): count += 1 list.append(count)
-
您可以使用
np.where()找到具有值的 idx,然后将结果数组拆分为具有连续整数的子数组(c.f. *.com/questions/2361945/…),最后取每个子数组的长度-数组。