how to efficiently select multiple slices from an array?
问题 Given an array d = np.random.randn(100) and an index array i = np.random.random_integers(low=3, high=d.size - 5, size=20) how can I efficiently create a 2d array r with r.shape = (20, 8) such that for all j=0..19 , r[j] = d[i[j]-3:i[j]+5] In my case, the arrays are quite large (~200000 instead of 100 and 20), so something quick would be useful. 回答1: You can create a windowed view of your data, i.e. a (93, 8) array, where item [i, j] is item [i+j] of your original array, as: >>> from numpy.lib