【发布时间】:2020-12-18 06:09:48
【问题描述】:
假设我有一个一维数组:
T = np.array([1.3, 8.9, 1.4, 3.2, 4.4, 7.0, 2.0, 6.9]
我有一个起始索引列表:
I = np.array([5, 2, 4, 1])
对于每个起始索引,我想从起始索引处开始从T 中获取m 连续值。所以,m=3 的最终输出应该是一个二维数组:
T = np.array([[7.0, 2.0, 6.9],
[1.4, 3.2, 4.4],
[4.4, 7.0, 2.0],
[8.9, 1.4, 3.2]])
我可以简单地遍历索引,但我希望有一种更有效的方法:
m = 3
out = np.empty((len(I), m))
for j, i in enumerate(I):
out[j] = T[j : j+m]
【问题讨论】:
-
将
s = T; l = m; i = I与链接的问答答案一起使用。
标签: python arrays numpy indexing