Python中numpy数组的shape与reshape函数

np.shape()与np.reshape()函数

参考博文:https://blog.csdn.net/qq_28618765/article/details/78083895

最近,主要在做一些数据分析与机器视觉相关项目,经常使用到np.reshape(),np.reshape()函数。虽然对它们有一个基本认识,但是每次用具体使用方法及意义总是模糊,这里自己总结一下。

shape函数
Python中shape函数主要用来返回数组的维度,在实际使用中没有reshape常用,但是由于函数名称与reshape较为相似,将两者比较学习方便记忆。np.shape()函数的使用方法如下。
Python中numpy数组的shape与reshape函数_第1张图片
可以看到,shape函数主要用来返回数组结构,并以0,1,2…分别对不同深度维度进行查询。当数组在该深度不存在维度,则报错。注意:shape函数后面紧跟的是中括号[ ],reshape函数后面紧跟的是小括号( )。此外,可以用y.shape返回整个数组结构。
在这里插入图片描述
reshape函数
reshape函数主要利用进行数组的维度重构,这个操作在对向量进行处理中非常常见。
Python中numpy数组的shape与reshape函数_第2张图片
官方介绍reshape的使用为y.reshape((2,3)),但是简写y.reshape(2,3)也不会出错。

Python中numpy数组的shape与reshape函数_第3张图片
此外,在reshape函数中可给参数赋值为-1,但是有条件为:在除-1维度外的维度上,参数值确定则数组结构唯一时才可使用,即-1个数最多不能超过1个。最后,注意y.reshape(-1,)的用法,而y.reshape(, -1)出错。
最后,reshape函数生成的新数组和原始数组共用内存,故原始数组或新数组中有一个改变,另一个随之改变。
Python中numpy数组的shape与reshape函数_第4张图片

你可能感兴趣的:(Python基础)