У меня есть np.array
:
>>> arr = np.arange(7)
>>> arr
array([0, 1, 2, 3, 4, 5, 6])
Я хочу получить все ключи разделения, которые имеют минимальную длину второй части и действуют в той же точке, что и оригинал.
>>> do_what_i_want(arr, 3):
[
[[], [0, 1, 2, 3, 4, 5, 6]],
[[0], [1, 2, 3, 4, 5, 6]],
[[0, 1], [2, 3 ,4, 5, 6]],
[[0, 1, 2], [3, 4, 5, 6]],
[[0, 1, 2, 3], [4, 5, 6]]
]
Мне нужно реализовать do_what_i_want()
функцию
UPD Мой текущий код:
def till_end_transform(self, arr, n):
I = np.arange(n) + np.arange(arr.shape[0] - n + 1).reshape(-1, 1)
# A[I]: https://docs.scipy.org/doc/numpy/user/quickstart.html#indexing-with-arrays-of-indices
# B is list of num_of_features-dimenstional charts
B = A[I].reshape(-1, M * A.shape[1], A.shape[2])
return B