#python #numpy
#python #numpy
Вопрос:
Я не понимаю, почему я не получаю ошибку для axis = 3 в следующем
import numpy as np
a = np.arange(27)
b = np.arange(27)
a = a.reshape((3,3,3))
b = b.reshape((3,3,3))
c = np.mean([a,b],axis=3)
Я использовал приведенный выше код, чтобы понять, как работает axis в numpy.
Из этой статьи, в которой показан случай 2D: я выяснил, что для многомерной оси ось 0 всегда проходит вдоль строк (измерение y), ось 1 (измерение x) проходит вдоль столбцов. Итак, в моем случае, когда у меня есть 3d-массив, я бы подумал, что у меня будет еще 1 ось, axis = 2 вдоль «направления z». Тем не менее, numpy позволяет мне также вводить axis = 3? В каком направлении выполняется эта индексация? Как numpy использует эту ось для вычисления среднего?
Комментарии:
1. Что такое
np.array([a,b]).shape
?
Ответ №1:
Вы создаете 4D-массив в вызове
c = np.mean([a,b],axis=3) # [a,b] adds 4th dimension
np.array([a,b]).shape
Вывод
(2, 3, 3, 3)