zoukankan      html  css  js  c++  java
  • numpy多维数组维度及添加轴的理解

     1 y = np.zeros((3, 4, 5))
     2 
     3 #output:
     4 array([[[0., 0., 0., 0., 0.],
     5         [0., 0., 0., 0., 0.],
     6         [0., 0., 0., 0., 0.],
     7         [0., 0., 0., 0., 0.]],
     8 
     9        [[0., 0., 0., 0., 0.],
    10         [0., 0., 0., 0., 0.],
    11         [0., 0., 0., 0., 0.],
    12         [0., 0., 0., 0., 0.]],
    13 
    14        [[0., 0., 0., 0., 0.],
    15         [0., 0., 0., 0., 0.],
    16         [0., 0., 0., 0., 0.],
    17         [0., 0., 0., 0., 0.]]])

    size=(a,b,c)
    维度==size中参数的个数
    a指最外层1(只看最外层括号)看本层元素个数,本例中指有两层括号的元素个数
    b指只看次层2层括号内本层元素个数,本例中指有一层括号的元素个数
    c指只看3层最内层本层元素个数。,无括号的元素个数。
    **[ ]**代表维度,增加一层括号即增加一维。

    y[:,np.newaxis, : , :] #意思是在第二层添加新的维度,即加一层**[ ]**.对应的shape内多了*"1”*.
    由已知y.shape=(3,4,5),则y[:,np.newaxis, : , :].shape=(3,1,4,5)

    np.newaxis用途:当数组插入新的维度后,shape改变,在做运算时由于braodcasting作用,导致数组沿行复制列向量沿列复制行向量

    沿行复制列向量:[ : ,np.newaxis, : ] #np.newaxis在第1个维度
    沿列复制行向量:[np.newaxis : ,:] #np.newaxis在第0个维度


    axis=0 #第0维。# 一般用在聚合计算中。
    axis=1#第1维。等价于axis=-1.

  • 相关阅读:
    Python--安装 pip 和 scapy
    windows设置代理
    麦子的《我奋斗了18年才和你坐在一起喝咖啡》
    Tar命令
    test
    markdown语法
    js apply call
    windows文件大小和占用空间为何不一样
    prolog笔记
    html文字超出显示省略号
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/12725352.html
Copyright © 2011-2022 走看看