购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.4 NumPy数组维度转换

在做数据处理时,数据的呈现方式可能并不是用户希望的,这就需要用户对数据进行转换,本节讲解不同维度数组的相互转换,以及不同维度数组的合并。学会这些操作,用户在转换数据结构时将更加得心应手。

3.4.1 数组维度转换

本节讲解一维数组与多维数组的相互转换,本质就是数据的重新组合。用户如果需要对一组数据拆解或者合并,维度转换是不错的选择。

1.一维数组转换为多维数组

数组的维度转换使用reshape()函数,下面演示一下将一维数组转换为二维数组和三维数组,示例代码如下:

运行结果如下:

2.多维数组转换为多维数组

使用reshape()函数也可以将多维数组转换为多维数组,例如可以将二维数组转换为另一种尺寸的二维数组,或者转换为其他多维数组,示例代码如下:

运行结果如下:

3.多维数组转换为一维数组

将多维数组转换为一维数组,除了使用reshape()函数之外,也可以使用flatten()函数,并且这种转换方式更为直接,示例代码如下:

运行结果如下:

注意: 数组之间的转换要遵循的原则是转换后的元素个数必须与转换前的元素个数相同,否则转换不成功。

3.4.2 数组合并

数组合并就是对两个及以上的数组做拼接,本节将讲解多个一维数组的合并,以及多个多维数组的合并。这些操作对数据的合并处理将非常有用。

1.一维数组合并

如果要将多个一维数组合并成一个一维数组,首先要将多个一维数组组织在列表中,然后使用np.concatenate()函数对列表中的一维数组合并,示例代码如下:

运行结果如下:

2.多维数组合并

合并多个多维数组与合并多个一维数组方法基本相同,但由于多维数组合并需要用户确认是横向合并,还是纵向合并,所以要在np.concatenate()函数中对axis参数指明合并方向,axis=1表示横向合并,axis=0表示纵向合并,示例代码如下:

运行结果如下: nQimjdyOO9yZ9UuinoLxpjZhpuxMq7T7fh/CtyxjPIuIZIQIU0fiBoUmRHeeKLi3

点击中间区域
呼出菜单
上一章
目录
下一章
×