Предположим, у меня есть двумерный массив A, как мне вычислить количество элементов между первым ненулевым элементом x и последним ненулевым элементом x. До сих пор я вычисляю позицию индекса первого ненулевого элемента, используя
Код: Выделить всё
import numpy as np
A = np.array([[0, 0, 3],[0, 4, 2],[0, 7, 0],[0, 0, 0]])
for row in range(np.size(A,1)):
if A[:,row].any():
xMin = row
break
print(xMin)
Тогда я мог бы сделать что-то подобное для xMax, начиная с конца массива, и вычислить разницу. Массив представляет собой доску, и я хочу найти диапазон/объем элементов на доске. Интересно, можно ли использовать np.nonzero() для поиска ненулевых элементов или удаления из массива ненулевых элементов. Самая простая идея — просто перебрать все элементы платы и отслеживать xMin и xMax, но есть ли более эффективный способ сделать это?
Подробнее здесь:
https://stackoverflow.com/questions/494 ... n-an-array