可以将numpy.lib.stride_tricks.as_strided与numpy.int8以外的其他数据类型一起使用吗?

时间:2019-06-11 11:41:06

标签: python numpy rolling-computation

我需要在某些数据上滚动一个窗口。我尝试使用numpy.lib.stride_tricks.as_strided进行此操作,但仅当数据集的元素类型为numpy.int8时,此方法才有效。是否可以使用其他类型?还是有人知道其他解决方案?

由于计算效率低下,纯Python代码解决方案是不能容忍的。

setTimeout()

如您所见,它与numpy.int8类型的数据一样工作。对于其他数据类型,即使是整数,也不再起作用。

1 个答案:

答案 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.