详谈Numpy中数组重塑、合并与拆分方法

yipeiwu_com5年前Python基础

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中数组重塑、合并与拆分方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python中的__slots__使用示例

正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class: 复制代码 代码如下: >>...

matplotlib简介,安装和简单实例代码

matplotlib简介,安装和简单实例代码

官网介绍: Matplotlib is a Python 2D plotting library which produces publication quality figures i...

Python基于贪心算法解决背包问题示例

本文实例讲述了Python基于贪心算法解决背包问题。分享给大家供大家参考,具体如下: 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优...

python 求1-100之间的奇数或者偶数之和的实例

如下所示: i=0 sum1=0 sum2=0 while i<=100: if i%2==0: sum1+=i else: sum2+=i i+=...

用python解压分析jar包实例

写这个玩意的背景:在u8多渠道打包里,需要分析jar包,并把里面的文件按目录和类型分别放在root和assets文件夹里,之前师兄都是手动解压,一个一个文件夹找文件,效率比较低,刚好最近...