import numpy as np
def find_consec(a, step=1):
vals = []
for i, x in enumerate(a):
if i == 0:
diff = a[i + 1] - x
if diff == step:
vals.append(x)
elif i < a.size-1:
diff = a[i + 1] - x
if diff > step:
vals.append(a[i + 1])
return np.array(vals)
a = np.array([1,2,10,11,18,19])
find_consec(a) # [1, 10, 18]
4条答案
按热度按时间ttygqcqt1#
在下文中,提供了使用numpy函数(更精确地,
np.ediff1d
)的附加解决方案,其在给定阵列的连续元素之间产生差异。此代码将与th
变量关联的值视为阈值。字符串
a5g8bdjr2#
这里是一个简单的函数,用于查找1D numpy数组中连续值系列的第一个值。
字符串
plicqrtu3#
欢迎来到stackoverflow。下面的代码可以回答你的问题:
字符串
示例如下:
型
sqserrrh4#
抱歉,我来晚了。但聚集集群可能是你正在寻找的。通过指定距离阈值和链接标准,该算法将返回期望的结果。
字符串