Я пытаюсь извлечь индексы всех значений 1D массива чисел, которые превышают некоторый порог. Массив имеет длину порядка 1e9
.Ускорить NumPy где функция
Мой подход заключается в следующем в NumPy
:
idxs = where(data>threshold)
Это что-то берет вверх 20 минут, что является неприемлемым. Как я могу ускорить эту функцию? Или, есть ли более быстрые альтернативы?
(для определенности, он принимает, что долго на Mac OS X 10.6.7 работает, 1,86 ГГц Intel, 4 Гб оперативной памяти ничего не делая.)
Требуется 20 минут для запуска np.where или для удаления значений ниже порогового значения? – 2013-02-09 22:00:25
Требуется 20 минут для запуска np.where – mac389
Имеет ли значение, что я вызываю каждую переменную из словаря? То есть 'data' действительно' data ['timeseries'] 'и порог - это действительно' data [threshold] [spikes] '. Я уверен, что вторая переменная является скаляром. – mac389