【发布时间】:2018-04-26 19:47:28
【问题描述】:
我有一个问题,如何从 numpy 数组生成切片数组。我可以用for循环来做,我想做的是:
def calc_matrix(arr, k):
x = np.zeros((len(arr) - k + 1, k))
for i in range(len(arr) - k + 1):
x[i, :] = arr[i: (i+k)]
return x
【问题讨论】:
-
为清楚起见,您能否提供
arr和k的示例? -
另外,您能否澄清一下您想要摆脱 for 循环的技术原因是什么?
-
避免 for 循环并使用对许多数组元素起作用的操作在 numpy 中对于许多操作来说要快得多。
-
@jpp arr = np.arange(20) and k is 4 例如,我的意思是 arr 是一维数组,抱歉没有提及。