我需要在某些数据上滚动一个窗口。我尝试使用numpy.lib.stride_tricks.as_strided进行此操作,但仅当数据集的元素类型为numpy.int8时,此方法才有效。是否可以使用其他类型?还是有人知道其他解决方案?
由于计算效率低下,纯Python代码解决方案是不能容忍的。
setTimeout()
如您所见,它与numpy.int8类型的数据一样工作。对于其他数据类型,即使是整数,也不再起作用。
答案 0 :(得分:0)
通常要针对一维输入执行此操作:
numpy.lib.stride_tricks.as_strided(data, strides=(data.strides,) * 2, shape=(3, 3))
请务必注意pitfalls of as_strided
,如果您想使用an example of a complete implementation.