Мы инициализируем массив numpy с нулями, как показано ниже:
np.zeros((N,N+1))
Но как мы проверяем, равны нулю все элементы в заданной матрице массива n * n numpy.
Метод просто должен вернуть True, если все значения действительно равны нулю.
Другие ответы, опубликованные здесь, будут работать, но самая ясная и эффективная функция для использования - numpy.any():
>>> all_zeros = not np.any(a)
или
>>> all_zeros = not a.any()
Это предпочтительнее, чем numpy.all(a==0), потому что он использует меньше ОЗУ. (Это не требует временного массива, созданного термином a==0.)
Кроме того, он быстрее, чем numpy.count_nonzero(a), потому что он может сразу вернуться, когда найден первый ненулевой элемент.
Ответ 3
Я бы использовал np.all здесь, если у вас есть массив a:
>>> np.all(a==0)
Ответ 4
Если вы тестируете все нули, чтобы избежать предупреждения о другой функции numpy, тогда обертывание строки в попытке, кроме блока, будет сохраняться необходимость выполнить проверку нулей перед интересующей вас операцией, т.е.
try: # removes output noise for empty slice
mean = np.mean(array)
except:
mean = 0