【发布时间】:2014-10-21 11:14:12
【问题描述】:
给定矩阵X 和T 行和列k:
T = 50
H = 10
k = 5
X = np.arange(T).reshape(T,1)*np.ones((T,k))
如何以延迟H沿行轴执行X的滚动累积和?
Xcum = np.zeros((T-H,k))
for t in range(H,T):
Xcum[t-H,:] = np.sum( X[t-H:t,:], axis=0 )
注意,根据广播/矢量化最佳实践,最好避免跨步和卷积。
【问题讨论】:
-
你检查
np.cumsum()了吗? -
是的,找不到“滚动”部分的答案。
-
为什么“广播/矢量化”最佳实践可以排除罢工?
-
strides 可以是“最佳实践”。这是个人观点,我认为 strides 是一种“深入了解”的解决方案。
标签: python numpy scipy vectorization array-broadcasting