Неисправность параметра numpy.all axis?

У меня есть следующий массив.

a = np.array([[0, 5, 0, 5], [0, 9, 0, 9]]) >>>a.shape Out[72]: (2, 4) >>>np.all(a,axis=0) Out[69]: array([False, True, False, True], dtype=bool) >>>np.all(a,axis=1) Out[70]: array([False, False], dtype=bool) 

Поскольку ось 0 означает первую ось (по ряду) в 2D-массиве,

Я ожидал, когда будет np.all(a,axis=0) , он проверяет, является ли весь элемент True или нет, для каждой строки.

Но похоже, что проверка на столбец вызывает вывод в виде 4 элементов, таких как array([False, True, False, True], dtype=bool) .

Что я не понимаю о функционировании np.all?

  • Как распределить ось x двух подзаговоров после их создания?
  • Python, Matplotlib, subplot: Как установить диапазон осей?
  • Как удалить относительный сдвиг в оси matplotlib
  • One Solution collect form web for “Неисправность параметра numpy.all axis?”

    axis=0 означает, что элементы AND вместе вдоль оси 0, поэтому a[0, 0] получает AND с a[1, 0] , a[0, 1] получает AND с a[1, 1] и т. д. Ось указанная обрушивается.

    Вероятно, вы думаете, что он принимает np.all(a[0]) , np.all(a[1]) и т. Д., Выбирая подмассивы, индексируя вдоль оси 0 и выполняя np.all на каждом подмассиве. Это противоположность тому, как это работает; который будет разрушать каждую ось, но указанную.

    С 2D-массивами нет преимуществ для одного соглашения над другим, но с 3D и выше, выбранное соглашение NumPy гораздо более полезно.

    Python - лучший язык программирования в мире.