У меня есть произвольный массив только с двоичным с ценностно сказать:среднее число повторяющихся паттернов с Numpy
a = np.array([1,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,1,1,0,])
Что бы наиболее эффективным способом посчитать среднюю длину последовательностей 1s массива? Например. В этом примере это будет (1 + 8 + 2)/3.
Сложность мудр: просто перебрать все значения и использовать некоторые активный/неактивный счетчик. Комбинируйте с однопроходным средним вычислением, и вы получите алгоритм O (n), который также является нижней границей (потому что вам нужно смотреть на все элементы хотя бы один раз). – sascha
Я вижу. Хм, было интересно, есть ли у numpy внутренняя функция, которая могла бы каким-то образом подсчета шаблонов. Однако, спасибо! – Estilus