NumPy对于轴(axis)和秩(rank)的理解

  • 轴(axis):保护数据的维度,数组最外围的维度axis=0
    • 矩阵(二维数组)
      • 第一轴(axis=0)是矩阵的列操作
      • 第二轴(axis=1)是矩阵的行操作
    • 三维数组
      • 第三轴(axis=2)为图像矩阵的通道
  • 秩(rank):轴的数量,即数组的维度

上面的看不懂不要急,看看例子就会懂了

np.sum(array, axis=None)函数表示对数组array进行求和(默认axis=None),可通过修改参数axis达到对数组array不同轴的操作。
eg:np.sum(a2,axis=0)对数组a2的第一轴(axis=0)求和

  • 对于二维数组a2(3,4)

a2=np.arange(12).reshape(3,4)
a2
Out: 
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])

np.sum(a2,axis=0)
Out: array([12, 15, 18, 21])
# ps:12=0+4+8, 15=1+5+9, 18=2+6+10, 21=3+7+11

np.sum(a2,axis=1)
Out: array([ 6, 22, 38])
# ps:6=0+1+2+3, 22=4+5+6+7, 38=8+9+10+11

总结一下

  • axis=0的结果为(axis, 4) 大小为四的一维数组,值为(0, i) + (1, i) + (2, i)
  • axis=1的结果为(3, axis) 大小为三的一维数组,值为(i, 0) + (i, 1) + (i, 2) + (i, 3)
    它的秩的值为2(二维数组,共有两个轴)
  • 对于三维数组 a(2,3,4)

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]]])
np.sum(a,axis=0)
# 对a数组第一轴求和
Out: 
array([[12, 14, 16, 18],
       [20, 22, 24, 26],
       [28, 30, 32, 34]])
# ps:12=0+12,14=1+13,16=2+14,18=3+15
#    20=4+16,...
#    28=8+28, ...
np.sum(a,axis=1)
# 对a数组第二轴求和
Out: 
array([[12, 15, 18, 21],
       [48, 51, 54, 57]])
# ps:12= 0+ 4+ 8, 15= 1+ 5+ 9, 18= 2+ 6+10, 21= 3+ 7+11
#    48=12+16+20, ...
np.sum(a,axis=2)
Out: 
array([[ 6, 22, 38],
       [54, 70, 86]])
# ps: 6= 0+ 1+ 2+ 3, 22= 4+ 5+ 6+ 7, 38= 8+ 9+10+11
#    54=12+13+14+15, ...

总结一下

  • axis=0的结果为(axis, 3, 4) 三行四列的矩阵,值为(0, i, j) + (1, i, j)
  • axis=1的结果为(2, axis, 4) 二行四列的矩阵,值为(i, 0, j) + (i, 1, j) + (i, 2, j)
  • axis=2的结果为(2, 3, axis) 二行三列的矩阵,值为(i, j, 0) + (i, j, 1) + (i, j, 2) + (i, j, 3)
    它的秩的值为3(共有三个轴,维度为三)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 基础篇NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(...
    oyan99阅读 5,381评论 0赞 18
  • 先决条件 在阅读这个教程之前,你多少需要知道点python。如果你想从新回忆下,请看看Python Tutoria...
    舒map阅读 2,806评论 1赞 13
  • NumPy是Python中关于科学计算的一个类库,在这里简单介绍一下。 来源:https://docs.scipy...
    灰太狼_black阅读 1,373评论 0赞 5
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 4,209评论 0赞 2
  • 01 不可否认,时间一直是人们很重视的一个东西,尤其是在这个发展节奏超快的城市。很多人连上班途中的时间都不放过,边...
    肖先生肖军阅读 344评论 1赞 2

友情链接更多精彩内容