numpy之shape和reshape

导入numpy模块

    from numpy import *  
    import numpy as np  

numpy.shape(a)数:类似数组(比如列表,元组)等,或是数组

返回:一个整型数字的元组,元组中的每个元素表示相应的数组每一维的长度
类似数组

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

数组:

    #一维数组  
    arr=array(range(5))  
    shape(arr)  #(5,)
    #二维数组  
    arr=array([[1,2,3], [4,5,6]])  
    shape(arr)  #(2,3)

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

reshape(a,newshape,order='c')

输入参数:

a:将要被重塑的类数组或数组

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

order:可选(忽略)

返回:一个新的形状的数组

    a=array([[1,2,3],[4,5,6]])  
    reshape(a, 6)  #array([1,2,3,4,5,6])
    reshape(a, (3, -1)) #为指定的值将被推断出为2  

输出:

array([[1,2],
       [3,4],
       [5,6]])
a = np.arange(18).reshape(9,2)
b = a.reshape(3,3,2).swapaxes(0,2)

a:
array([[ 0, 1],
[ 2, 3],
[ 4, 5],
[ 6, 7],
[ 8, 9],
[10, 11],
[12, 13],
[14, 15],
[16, 17]])

b:
array([[[ 0, 6, 12],
[ 2, 8, 14],
[ 4, 10, 16]],

   [[ 1,  7, 13],
    [ 3,  9, 15],
    [ 5, 11, 17]]])

你可能感兴趣的:(python)