Я пытаюсь написать код в Python, используя NumPy. Я не уверен, что это возможно, но вот что я пытаюсь сделать:
У меня есть 2D матрица a
формы (rows, cols)
с положительными целыми числами, и я хочу определить матрицу b
такой, что если a [i, j] = x, то b [i, j + 1] = b [i, j + 2] = ... = b [i, j + x] = 1 (b инициализируется как a матрица нулей).
Можно предположить, что для каждого j, x: j + x <= cols-1. </p>
Например, если a
равно:
[0 2 0 0]
[0 2 0 0]
[3 0 0 0]
[2 0 1 0]
Тогда b
должно быть:
[0 0 1 1]
[0 0 1 1]
[0 1 1 1]
[0 1 1 1]
Можно ли сделать вышеупомянутое в Python с NumPy без использования циклов ?
Если это невозможно сделать без петель, есть ли эффективный способ сделать это? (rows
и cols
могут быть большими числами.)