2024-04-27 00:47:22 发布
网友
我想应用一个给定的函数(尤其是np.标准())对一系列测量, 我想把它涂在一定尺寸的滚动窗上。在
但是-由于测量是在一个圆形阵列中进行的-我还需要滚动窗口能够从阵列的末端到它的开始重叠。在
因此,我无法使用Rolling window for 1D arrays in Numpy?中的答案。。。我试着修改它的方法,但我不是一个裸体专家,我无法理解是什么np.lib.stride\u技巧。就像_striped所做的那样(它的文档在哪里?)在
用足够的值填充原始数组,以生成一个“伪圆形”数组。然后将rolling_window应用于伪圆形数组:
rolling_window
import numpy as np def rolling_window(a, window): # http://www.mail-archive.com/numpy-discussion@scipy.org/msg29450.html shape = a.shape[:-1] + (a.shape[-1] - window + 1, window) strides = a.strides + (a.strides[-1],) return np.lib.stride_tricks.as_strided(a, shape=shape, strides=strides) def circular_rolling_window(a, window): pseudocircular = np.pad(a, pad_width=(0, windowsize-1), mode='wrap') return rolling_window(pseudocircular, windowsize) a = np.arange(5) windowsize = 3 print(circular_rolling_window(a, windowsize))
收益率
用足够的值填充原始数组,以生成一个“伪圆形”数组。然后将
rolling_window
应用于伪圆形数组:收益率
^{pr2}$相关问题 更多 >
编程相关推荐