numpy中resize,numpy.resize
Python中的Numpy数组有一个Reshape方法,我们经常使用,但至今没有深入研究。在多维矩阵的情况下,重塑得出什么样的矩阵?所以试着构建一个三维矩阵,分析一下重塑的原理。
首先构造一个[5,4,3]的三维矩阵A,具体值如下图所示。
然后把它重塑成一个[5,12]的矩阵,看它怎么变化。
当没有添加order参数进行整形时,结果如下图所示。
可以看到,整形操作切掉了第二维,把4x3的矩阵变成了1x12的矩阵。
尝试添加不同的阶参数,发现无论是A还是C和F,结果都和没有参数一样。
如果你想把一个[0]作为一个整体而不拆分它,也就是把一个[1]作为一个整体放在一个[0]矩阵的右边,那么这个整体的形状应该是[4,15]的矩阵。试试重塑。
从上图可以看出,在没有添加参数的情况下,第三维会被拆分,直到矩阵的宽度被填满,而不是我们想要的整体平移。此时尝试更改不同的参数。
使用参数c:
使用参数f:
可以看出,C是随着维数越往后退变化越快的矩阵。也就是说,从最后一个维度开始,先按行填充到需要的矩阵中。如果你写一个程序,它应该如下
转换图:
当参数F设定时,维度越高,变化越快。从第一维开始,它将按列优先,并填充所需的矩阵。如果程序写好了,应该如下。
转换图:
以上大概是reshape的用法,但是不能满足我的要求,所以需要替换其他函数进行处理。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。