详谈Numpy中数组重塑、合并与拆分方法
1.数组重塑
1.1一维数组转变成二维数组
通过reshape()函数即可实现,假设data是numpy.array类型的一维数组array([0,1,2,3,4,5,6,7,8,9]),现将其转变为2行5列的二维数组,代码如下:
data.reshape((2,5))
作为参数的形状的其中一维可以是-1,它表示该维度的大小由数据本身推断而来,因此上面代码等价于:
data.reshape((2,-1))
1.2二维数组转换成一维数组
将多维数组转换成一维数组的运算通常称为扁平化(flattening)或散开(raveling),因此有两个函数可供选择。执行代码如下:
data.ravel()#不会产生源数据的副本 data.flatten()#总是返回数据的副本
关于这两点的区别,理解的不是很透彻。有人懂得话,欢迎评论交流。
2.数组的合并和拆分
2.1数组的合并
numpy提供许多数组合并的方法,这里只介绍最为常用的一种,即concatenate方法,代码如下:
arr1=np.array([[1,2,3],[4,5,6]]) arr2=np.array([[7,8,9],[10,11,12]]) data=np.concatenate([arr1,arr2],axis=0)#axis参数指明合并的轴向,0表示按行,1表示按列
2.2数组的拆分
这里只介绍split函数
np.split(data,[1],axis=0)#data为拆分的数组,[1]为拆分的行号或列号,axis表明按列或者行进行拆分(默认为0,即按行拆分)
以上这篇详谈Numpy中数组重塑、合并与拆分方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。