zoukankan      html  css  js  c++  java
  • 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])
  • 相关阅读:
    设计模式-抽象工厂模式
    设计模式-工厂方法模式
    设计模式-单例
    java集合-补充HashMapJDK1.8
    java多线程-线程池
    java-阻塞队列
    java多线程-信号量
    java多线程-读写锁
    java多线程-锁
    Ubuntu下编译Poco库
  • 原文地址:https://www.cnblogs.com/AI-robort/p/11636374.html
Copyright © 2011-2022 走看看