每n次只执行一次计算

2024-06-17 12:40:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一些代码优化。目前我使用滚动平均和滚动标准来计算地震仪器时间序列数据的归一化互相关。由于不相关的技术原因,我只对这些滚动平均值和滚动std调用的输出的每n个值感兴趣,所以我希望只计算每n个值。我可能要写一个cython代码来做这件事,但我宁愿不。举个例子:

import pandas as pd
import numpy as np
As=5000 #Array size
as=150 #Moving window size
N=3 # only interested in every N values of output array

ar=np.random.rand(As) # generate generic random array
RSTD=pd.rolling_std(ar,as)[as-1:] # dont return the nans before widows overlap


foo=RSTD[::N] # use array indexing to decimate RSTD to only return every Nth value

有没有一个好方法只计算RSTD的每n个值,而不是计算所有的值和抽取?你知道吗

谢谢


Tags: importonlysizereturnasnprandomarray