美文网首页
numpy.sum()方法的axis参数

numpy.sum()方法的axis参数

作者: juriau | 来源:发表于2018-10-15 20:31 被阅读103次

参考https://blog.csdn.net/fencer911/article/details/51705160?utm_source=copy


对于三维数据

>>> import numpy as np
>>> b=np.arange(24).reshape(2,3,4)
>>> b
array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]],
 
       [[12, 13, 14, 15],
        [16, 17, 18, 19],
        [20, 21, 22, 23]]])
>>> b.sum(axis=0)
array([[12, 14, 16, 18],
       [20, 22, 24, 26],
       [28, 30, 32, 34]])
>>> b.sum(axis=0).shape
(3, 4)
>>> b.sum(axis=1)
array([[12, 15, 18, 21],
       [48, 51, 54, 57]])
>>> b.sum(axis=1).shape
(2, 4)
>>> b.sum(axis=2)
array([[ 6, 22, 38],
       [54, 70, 86]])
>>> b.sum(axis=2).shape
(2, 3)
>>> b.sum()
276

我们可以清晰的看到

b.sum(axis=0) 等同与 b[0,:,:]+b[1,:,:]
b.sum(axis=1) 等同与 b[:,0,:]+b[:,1,:]+b[:,2,:]
b.sum(axis=2) 等同与 b[:,:,0]+b[:,:,1]+b[:,:,2]+b[:,:,3]


对于二维数据

>>> b = np.arange(4).reshape(2,2)
>>> b
array([[0, 1],
       [2, 3]])
>>> b.sum(axis=0)
array([2, 4])
>>> b.sum(axis=1)
array([1, 5])

b.sum(axis=0) 等同与 b[0,:]+b[1,:]
b.sum(axis=1) 等同与 b[:,0]+b[:,1]
简单的说,axis=0行向量相加,axis=1列向量相加。

相关文章

网友评论

      本文标题:numpy.sum()方法的axis参数

      本文链接:https://www.haomeiwen.com/subject/xfjqzftx.html