170 похожих чатов

@Numba.Njit() Def numpy_rolling_mean(arr, n: int, min_periods: int): result

= np.empty(shape=len(arr))
for i in range(min_periods - 1, len(arr)):
result[i] = np.mean(arr[i - n + 1 : i + 1])
return result

@measure_execution("std takes: %s")
@numba.njit()
def std(y, label: str, n: int):
r = np.empty(shape=len(y))
m = numpy_rolling_mean(y, n, n)

for i in range(n,len(y)):
s = 0
mean = m[i]

if (np.isnan(mean)):
r[i] = np.nan
continue

for j in y[i-n:i]:
s += (j - mean) ** 2
r[i] = sqrt(s * (1/n))


return f'{label}_{n}', r

Есть такая функция, оптимизировал ее как смог, но выполняется она все равно долго

(31 секунду на 250к данных)

Хотелось бы получить что-то вроде 1-2 секунд
(До оптимизации было 37)

Это вообще возможно?

4 ответов

7 просмотров

Блин нейминг жестокий у тебя( Вроде и не лень было почитать вникнуть, но в твоих y, m,s замучался тыркаться)

То есть взял массив посчитал rolling mean, дальше у тебя исходный массив и rolling mean для которых ты вычисляешь что-то вроде среднеквадратичного отклонения?

Владимир
То есть взял массив посчитал rolling mean, дальше ...

Я это к тому что неплохо бы немного комментить что делаешь в сообщении Ну и переменные конечно так называть не надо - очень тяжело воспринимается

Cvt- Автор вопроса
Владимир
То есть взял массив посчитал rolling mean, дальше ...

def rstd(y,n): result = np.empty(len(y)-n+1) for i in range(len(y)-n+1): result[i] = np.std(y[i:i+n]) return f'rstd_{n}', result

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
23
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
а не подскажете вот это скрин из какой IDE ?
Iluha Companets
14
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается...
Андрей
4
Сегодня у себя обнаружил Holodeck-2_8_0.exe (48.5 Mb). Вопрос: откуда он у меня взялся?
楽園松本
8
Карта сайта