首页 > 编程知识 正文

numpy基础知识,pythonreshape函数

时间:2023-05-06 02:54:47 阅读:240011 作者:3139

Numpy.reshape()与shape函数   相关知识:tensorflow中利用sddyet来表示数据,sddyet是有阶数的,一阶sddyet就是一个一维向量,二阶sddyet是矩阵,关于sddyet的描述更多描述,参考http://blog.csdn.net/u013378306/article/details/56281549这篇博文。shape就是sddyet的形状,用数组表示,n阶sddyet对应一个n维的shape,每一阶的元素数目等于相应的维的大小。例如,sddyet [[[ 1 2] [ 3 4] [ 5 6]] [[ 7 8] [ 9 10] [11 12]]]的shape=(2,3,2).明白了这一点后,reshape()函数和shape[]函数就很好理解了:reshape()函数重新定义了原sddyet的阶数,shape函数就表示sddyet的形状。下面看具体用法: 1.Numpy.reshape()

  虽然官网上关于reshape函数的标准格式是numpy.reshape(a, newshape, order='C'),但其实这个函数有两种用法。先看代码:

import numpy as npa=np.array([1,2,3,4,5,6,7,8,9,10,11,12])b=np.reshape(a,(2,-1))c=a.reshape(2,-1)print 'b='print bprint 'c='print c  结果:b=[[ 1 2 3 4 5 6] [ 7 8 9 10 11 12]]c=[[ 1 2 3 4 5 6] [ 7 8 9 10 11 12]]  可以看到,对数组a进行变换可以用b=np.reshape()或者c=a.reshape()的方式。


2.函数内参数解释   我们用第一种方式,即b=np.reshape()的方式。值得注意的是标准格式中numpy.reshape(a, newshape, order='C')中的newshape参数和order参数。
newshape参数:   用法参见以下代码: import numpy as npa=np.array([1,2,3,4,5,6,7,8,9,10,11,12])b=np.reshape(a,(2,-1))c=np.reshape(a,(2,2,-1))d=np.reshape(a,(2,3,-1))print 'b='print bprint 'c='print cprint 'd='print d  输出: b=[[ 1 2 3 4 5 6] [ 7 8 9 10 11 12]]c=[[[ 1 2 3] [ 4 5 6]] [[ 7 8 9] [10 11 12]]]d=[[[ 1 2] [ 3 4] [ 5 6]] [[ 7 8] [ 9 10] [11 12]]] newshape参数用数组表示,以c为例,数组(2,2,-1)就是c的形状,一共有三阶,第三个数字是reshape后数组a中最小单元中元素个数,在这里是3,如果是-1则表示可以自动推测出。
order参数   是元素排列顺序的参数,一般不用。
2.shape函数   下面代码展示了该函数的用法:

c=np.array([1,2,3,4,5,6,7,8,9,10,11,12])c=c.reshape(2,3,2)print cprint c.shape输出:
[[[ 1 2] [ 3 4] [ 5 6]] [[ 7 8] [ 9 10] [11 12]]](2, 3, 2) 即得到sddyet的形状。



版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。