В настоящее время у меня есть двумерный массив numpy формы (m, n)
.Кроме того, у меня есть два (m, p)
массива индексов i1
и i2
.Индексы всегда смежны!
import numpy as np
t = np.array([[-1, -1, 0, 0, 1, 2, 2],
[-1, -1, 0, 1, 2, 3, 3],
[0, 0, 1, 2, 2, 3, 3]])
i1 = np.array([3, 2, 2])
i2 = np.array([4, 3, 3])
Как использовать массивы i1
и i2
для нарезки t
для получения следующей подматрицы?
expected_t = np.array([
[0, 1],
[0, 1],
[1, 2]
])
То есть
expected_t[0, :] = t[0, i1[0]:i2[0]]
expected_t[1, :] = t[1, i1[1]:i2[1]]
expected_t[2, :] = t[2, i1[2]:i2[2]]
Кроме того, возможно ли обойтись без копирования данных путем создания представления?
Заранее благодарим за помощь!