Python使用Numpy变换数组形状
一、 修改数组的形状
1、重塑数组形状
方法 | 作用 |
---|---|
reshape() | 不修改原数组的形状,返回一个视图,会影响原数组的数据 |
resize() | 直接作用于原数组 |
shape() | 直接作用于原数组 |
若不理解视图,可以通过 视图与拷贝 这篇博客进行了解。
ndarry.reshape()
1 | ndarry.reshape(shape) |
代码:
1 | import numpy as np |
ndarry.resize()
1 | resize(shape) :谨慎使用! |
代码
1 | n1 = np.array([[2,4,3,2],[8,4,2,9],[8,3,4,9]]) |
ndarry.shape
1 | shape |
代码
1 | n1 = np.array([[2,4,3,2],[8,4,2,9],[8,3,4,9]]) |
2、多维数换向一维数组转换
ndarry.ravel()
1 | ndarry.ravel(order=) |
代码
1 | n1 |
ndarry.flatten()
1 | ndarry.flatten(order=) |
代码
1 | n1 |
ndarry.reshape(-1)
函数说明
1 | n1.reshape(-1) |
代码
1 | n1 |
3、 增加一个维度
np.newaxis()
所在位置增加一个维度
一维扩展为二维
1 | # 一维度数组 |
二维扩展为三维
1 | # 二维度数组 |
以此类推,将小维度数组扩展成更多维的数组。
4、数组行列转置
ndarray.T 属性
1 | n2 |
ndarray.transpose()
1 | # 同ndarray.T |
ndarray.swapaxes(1,0)
1 | # 必须填入两个参数,进行行列转换 |
二、数据的拼接(合并)
np.hstack()
水平拼接
1 | np.hstack(tup) 数组的水平拼接 |
代码
1 | # 准备数组1 |
np.vstack()
竖直拼接
1 | np.vstack(tup) 数组的水平拼接 |
代码
1 | # 准备数组1 |
np.concatenate()
指定数组的拼接方向
1 | np.concatenate((a1, a2, ...), axis=0, out=None) |
代码
1 | # 准备数组1 |
三、 数据的复制
np.tile(ndarry,(m,n))
指定数组的方向复制
1 | np.tile(ndarry,(m,n)) |
代码
1 | a2 |