Существует ли функция numpy для суммирования массива вдоль (не более) заданной оси?Под осью я подразумеваю нечто эквивалентное:
[x.sum() for x in arr.swapaxes(0,i)].
для суммирования вдоль оси i.
Например, случай, когда numpy.sum не будет работатьнапрямую:
>>> a = np.arange(12).reshape((3,2,2))
>>> a
array([[[ 0, 1],
[ 2, 3]],
[[ 4, 5],
[ 6, 7]],
[[ 8, 9],
[10, 11]]])
>>> [x.sum() for x in a] # sum along axis 0
[6, 22, 38]
>>> a.sum(axis=0)
array([[12, 15],
[18, 21]])
>>> a.sum(axis=1)
array([[ 2, 4],
[10, 12],
[18, 20]])
>>> a.sum(axis=2)
array([[ 1, 5],
[ 9, 13],
[17, 21]])