Я пытаюсь найти кластеры (то есть группы внутри массива, в которых разница между [n + 1] и [n] меньше определенного значения) внутри массива.У меня есть массив Numpy, который представляет собой последовательность отметок времени.Я могу найти разницу между временными метками, используя numpy.diff (), но мне трудно пытаться определить кластеры без циклического прохождения по массиву.Чтобы проиллюстрировать это:
t = t = np.array([ 147, 5729, 5794, 5806, 6798, 8756, 8772, 8776, 9976])
dt = np.diff(t)
dt = array([5582, 65, 12, 992, 1958, 16, 4, 1200])
Если мое состояние кластера dt <100 t [1], то t [2] и t [3] будет одним кластером, а t [5], t [6]и т [7] будет другим.Я пытался поиграть с numpy.where (), но у меня не получилось добиться правильной настройки условий для выделения кластеров, то есть </p>
cluster1 = np.array([5729, 5794, 5806])
cluster2 = np.array([8756, 8772, 8776])
или что-то в этом роде.
Любая помощь приветствуется.