基于this post,我们可以创建滑动窗口,以将2D此类窗口的数组设置为其中的行。这些窗口仅是data阵列的视图,因此没有内存消耗,因此非常有效。然后,我们只需ufuncs沿每一行使用它们axis=1。
因此,例如,中sliding-位数`可以像这样计算:
np.median(strided_app(data, window_len,1),axis=1)
Run Code Online (Sandbox Code Playgroud)
另外ufuncs,只需在其中使用各自的ufunc名称即可: np.min,np.max& np.mean。请注意,这是为了提供使用ufunc支持功能的通用解决方案。
为了获得最佳性能,仍然必须研究为这些目的而构建的特定功能。对于所请求的四个函数,我们具有内建函数,如下所示:
中位数:scipy.signal.medfilt。
最多:scipy.ndimage.filters.maximum_filter1d。
敏:scipy.ndimage.filters.minimum_filter1d。
意思 : scipy.ndimage.filters.uniform_filter1d
| 归档时间: |
|
| 查看次数: |
12895 次 |
| 最近记录: |