shape与reshape

来源:互联网 发布:马氏链模型matlab编程 编辑:程序博客网 时间:2024/06/13 17:26

shape函数(需要导入numpy)

shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度。它的输入参数可以使一个整数表示维度,也可以是一个矩阵。

  1. 一维矩阵[1]返回值为(1L,)                   

  2. 二维矩阵,返回两个值                                  

  3. 一个单独的数字,返回值为空       

  4. 或者

    1. #一维列表  
    2. L=range(5)  
    3. shape(L)  
    4. #二维列表  
    5. L=[[1,2,3],[4,5,6]]  
    6. shape(L)  

  5. reshape:函数功能:给予数组一个新的形状,而不改变它的数据

  6. newshape:整数值或整数元组。新的形状应该兼容于原始形状。如果是一个整数值,表示一个一维数组的长度;如果是元组,一个元素值可以为-1,此时该元素值表示为指定,此时会从数组的长度和剩余的维度中推断出

    order:可选(忽略)

  7. >>> a = np.array([1, 2, 3, 4]);b = np.array((5, 6, 7, 8));c = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]])
    >>> b
    array([5, 6, 7, 8])
    >>> c
    array([[ 1,  2,  3,  4],
           [ 4,  5,  6,  7],
           [ 7,  8,  9, 10]])
    >>> c.dtype
    dtype('int32')
    >>> d = a.reshape((2,2))
    >>> d
    array([[1, 2],
           [3, 4]])
    >>> d = a.reshape((1,2))
    Traceback (most recent call last):
      File "<pyshell#27>", line 1, in <module>
        d = a.reshape((1,2))
    ValueError: total size of new array must be unchanged
    >>> d = a.reshape((1,-1))
    >>> d
    array([[1, 2, 3, 4]])
    >>> d = a.reshape((-1,1))
    >>> d
    array([[1],
           [2],
           [3],
           [4]])


原创粉丝点击