本文将会介绍numpy数组改变形状的7种常用的方法。
方法一:shape
通过给ndarray的属性shape重新赋值来修改数组的形状
方法二:reshape
reshape(a, newshape[, order])
reshape中还可以只指定一维,另一维为-1,它会自动匹配相应的行或列。
方法三:reval
ravel(a[, order])
ravel返回的是一个包含所有元素的一维数组。相当于reshape(-1)。
方法四:flatten
方法五:np.newaxis
np.newaxis的功能就是增加新的维度,添加在不同的地方,则会在不同的地方增加维度。
例如下图,给array2添加一个np.newaxis,就相当于新数组在np.newaxis位置的维度是1,另一个维度用原数组元素填充。可以根据你的需要添加多个np.newaxis。
方法六:squeeze
squeeze(a[, axis])
squeeze也可以展平数组,但是它比较特殊,它只能展平维度是1的部分。
如下图,对于shape是(5,2)的数组它完全没有修改,但是对于array2_1,array2_2,array2_3中,将维度为1的全部删掉了。
方法七:np.c_
numpy.c_
不是函数,返回的是一个连接后的ndarray或者是一个矩阵。c表示column,表示从列上增加。
好了,本文到这里就结束了,其他内容想了解的可以参考官方文档(https://numpy.org.cn/reference/routines/array-manipulation.html#改变数组形状)
感谢您的阅读~