如何利用reshape方法,重排ndarray的shape形状及维度?
发布于 作者:苏南大叔 来源:程序如此灵动~

在平时的python
代码学习中,.reshape()
方法经常跟在.arange()
后面,但是它并不是一维等差数列的专属方法,而是所有的ndarray
变量都可以使用的。这就是本文要重点澄清的事情之一。

大家好,这里是苏南大叔的“程序如此灵动”博客,本文描述dataframe
类型变量,如何重新改变其形状。测试环境:win10
,python@3.11.0
,numpy@1.24.2
。任何维度的ndarray
都可以被.reshape()
。
准备一个数据
老生常谈,为了文章内容的正常展开,这里需要一个龙套角色,用于引出其.reshape()
方法。参考文章:
被重塑形状的ndarray
变量可以是任意形状任意维度的,都是可以被重塑的。理解上可以理解为先拆散重排为一维数组,然后再按照新的尺寸要求进行填充。
输出:
重塑为目标形状的基本原则
其实,这里隐藏了一个条件,就是新的维度信息的参数,相乘得到的乘积是原来的数组成员数量总和。可以打印一下ndarray
的相关信息来印证自己的猜想。

如果某个轴向上面的数量不一定,那么有个隐藏的参数-1
,设置为-1
就不那么为难了。

【重要的原则】是:重塑为几个维度,就填几个参数!!新多出的参数,就是新添加的概念!一维变二维增加的是行的概念,二维变三维增加的是通道(层)的概念!
重塑为一维数组
输出:
不定数量时:
重塑为二维数组
不定数量时:
重塑为三维数组
不定数量时:
结束语
更高维度的话,也支持,就是比较难理解了。所以,这里就不做描述了。放个文章链接,如果读者有需要,可以点击:


