numpy库中axis的有关问题

import numpy as np
c= np.arange(24).reshape(3,4,2)

img


它的c.sum(axis=0)的结果为:

img


是如何计算出来的?

axis表示折叠第几维度
你是三维列表,所以axis=0就是折叠0号维度。reshape(3,4,2),或者方括号从外向内数,依次为0,1,2号维度。
所以折叠0号维度,就是变成4行2列的二维列表,所有数据在0号维度上求和,比如0+8+16=24,1+9+17=27
同样地,还可以折叠1号或2号维度,变成3行2列,或3行4列的二维列表,所有数据在被折叠的维度上求和:

>>> c.sum(axis=0)
array([[24, 27],
       [30, 33],
       [36, 39],
       [42, 45]])
>>> 
>>> c.sum(axis=1)
array([[12, 16],
       [44, 48],
       [76, 80]])
>>> 
>>> c.sum(axis=2)
array([[ 1,  5,  9, 13],
       [17, 21, 25, 29],
       [33, 37, 41, 45]])