У меня есть два списка. И мне нужно разделить numpy.ndarray (матрица) на основе длины другого списка списков (позиции). Например:
position: [[0.0056, 0.0065, 0.008], [0.009, 0.1, 0.127], [0.232, 0.879]]
В этом примере матрица имеет размер (5,8)
matrix: array([[0, 0, 1, 0, 0, 1, 1, 1],
[1, 1, 0, 1, 1, 1, 1, 1],
[0, 1, 0, 1, 0, 1, 0, 1],
[1, 1, 1, 0, 0, 0, 0, 0],
[1, 1, 0, 0, 1, 0, 1, 0]])
Так, например, список в первом индексе позиции имеет длину 3. Поэтому я хотел бы сгенерировать вывод, который разрезает матрицу в позиции три. Следовательно, результат для первого списка в позиции будет:
0, 0, 1
1, 1, 0
0, 1, 0
1, 1, 1
1, 1, 0
Аналогично, длина списка во втором индексе позиции также равна 3, поэтому из матрицы будут взяты следующие три столбца, и результат будет:
0, 0, 1
1, 1, 1
1, 0, 1
0, 0, 0
0, 1, 0
Последний индекс позиции имеет список длины два, поэтому он займет последние два столбца матрицы.
Я не знаю, как этого добиться. Помощь будет оценена.