• 2-5 数组形状


    In [1]:
    import numpy as np
    tang_arrary=np.arange(10)
    tang_arrary
    
    Out[1]:
    array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
    In [2]:
    tang_arrary.shape#形状
    
    Out[2]:
    (10,)
    In [3]:
    tang_arrary.shape=2,5#指定2行5列
    
    In [4]:
    tang_arrary
    
    Out[4]:
    array([[0, 1, 2, 3, 4],
           [5, 6, 7, 8, 9]])
    In [5]:
    tang_arrary.reshape(1,10)#改形状的方法2
    
    Out[5]:
    array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
     

    大小必须不能改变

    In [6]:
    tang_arrary.shape=3,4
    
     
    ---------------------------------------------------------------------------
    ValueError                                Traceback (most recent call last)
    <ipython-input-6-236d4f50caba> in <module>()
    ----> 1tang_arrary.shape=3,4
    
    ValueError: cannot reshape array of size 10 into shape (3,4)
    In [11]:
    tang_arrary=np.arange(10)
    tang_arrary.shape
    
    Out[11]:
    (10,)
    In [12]:
    tang_arrary=tang_arrary[np.newaxis,:]#新加一个维度
    tang_arrary.shape
    
    Out[12]:
    (1, 10)
    In [13]:
    tang_arrary=tang_arrary[:,np.newaxis]#新加一个维度
    tang_arrary.shape
    
    Out[13]:
    (1, 1, 10)
    In [14]:
    tang_arrary=tang_arrary[:,np.newaxis,np.newaxis]#新加2个维度
    tang_arrary.shape
    
    Out[14]:
    (1, 1, 1, 1, 10)
    In [17]:
    tang_arrary=tang_arrary.squeeze()#压缩,空轴会被去掉
    tang_arrary.shape
    
    Out[17]:
    (10,)
    In [18]:
    tang_arrary.shape=2,5
    
    In [23]:
    tang_arrary
    
    Out[23]:
    array([[0, 1, 2, 3, 4],
           [5, 6, 7, 8, 9]])
     

    转置:不改变原来的变量

    In [24]:
    tang_arrary.T
    
    Out[24]:
    array([[0, 5],
           [1, 6],
           [2, 7],
           [3, 8],
           [4, 9]])
    In [27]:
    tang_arrary.transpose()
    
    Out[27]:
    array([[0, 5],
           [1, 6],
           [2, 7],
           [3, 8],
           [4, 9]])
     

    数组的连接

    In [29]:
    a=np.array([[123,456,678],[321,344,451]])
    a
    
    Out[29]:
    array([[123, 456, 678],
           [321, 344, 451]])
    In [30]:
    b=np.array([[133,444,412],[234,742,453]])
    b
    
    Out[30]:
    array([[133, 444, 412],
           [234, 742, 453]])
     

    拼接

    In [32]:
    c=np.concatenate((a,b))#第二个括号必须是元组形式
    c
    
    Out[32]:
    array([[123, 456, 678],
           [321, 344, 451],
           [133, 444, 412],
           [234, 742, 453]])
    In [34]:
    c=np.concatenate((a,b),axis=0)#按照列拼接
    c
    
    Out[34]:
    array([[123, 456, 678],
           [321, 344, 451],
           [133, 444, 412],
           [234, 742, 453]])
    In [35]:
    c=np.concatenate((a,b),axis=1)#按照行拼接
    c
    
    Out[35]:
    array([[123, 456, 678, 133, 444, 412],
           [321, 344, 451, 234, 742, 453]])
    In [36]:
    c.shape
    
    Out[36]:
    (2, 6)
    In [37]:
    np.vstack((a,b))#默认轴=0
    
    Out[37]:
    array([[123, 456, 678],
           [321, 344, 451],
           [133, 444, 412],
           [234, 742, 453]])
    In [38]:
    np.hstack((a,b))#默认轴=1
    
    Out[38]:
    array([[123, 456, 678, 133, 444, 412],
           [321, 344, 451, 234, 742, 453]])
    In [39]:
    a.flatten()#把数值拉平,不改变原始数组
    
    Out[39]:
    array([123, 456, 678, 321, 344, 451])
    In [40]:
    a
    
    Out[40]:
    array([[123, 456, 678],
           [321, 344, 451]])
    In [41]:
    a.ravel()#把数值拉平,不改变原始数组
    
    Out[41]:
    array([123, 456, 678, 321, 344, 451])
  • 相关阅读:
    Objective C 代码片段(类别)
    误释放对象
    浏览器内核信息整理
    Oracle VM Virtual 下CentOS不能自动获取IP地址
    git 命令归纳
    马蜂窝 iOS App 启动治理:回归用户体验
    马蜂窝火车票系统服务化改造初探
    让前端监控数据采集更高效
    状态机在马蜂窝机票订单交易系统中的应用与优化实践
    马蜂窝张矗:我对技术团队绩效考核管理的几点思考
  • 原文地址:https://www.cnblogs.com/AI-robort/p/11636374.html
Copyright © 2020-2023  润新知