【发布时间】:2020-04-03 00:56:15
【问题描述】:
my_function 必须将 1D numpy 数组扩展为 2D numpy 数组,第二个轴包含 length 的切片,从第一个索引开始直到结束。示例:
import numpy as np
a = np.arange(10)
print (my_function(a, length=3))
预期输出
array([[0, 1, 2],
[1, 2, 3],
[2, 3, 4],
[3, 4, 5],
[4, 5, 6],
[5, 6, 7],
[6, 7, 8],
[7, 8, 9]])
我可以使用 for 循环来实现这一点,但我想知道是否有为此的 numpy 矢量化技术。
def my_function(a, length):
b = np.zeros((len(a)-(length-1), length))
for i in range(len(b)):
b[i] = a[i:i+length]
return b
【问题讨论】:
标签: python arrays numpy vectorization array-broadcasting