千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > Numpy数组拼接

Numpy数组拼接

来源:千锋教育
发布人:syq
时间: 2022-08-12 16:14:05 1660292045

  #### 拼接

  Numpy中提供了concatenate,append, stack类(包括hsatck、vstack、dstack、row_stack、column_stack),r_和c_等类和函数用于数组拼接的操作。各种函数的特点和区别如下表: 

拼接

  在我们学习拼接之前我们先了解一些轴和维度。

  

维度理解

  上一篇我们提到numpy中的ndim和shape来分别查看维度,以及在对应维度上的长度的。而其中的axis表示的是轴

  ##### concatenate函数

  ```

  concatenate(tuple, axis=0, out=None)

  """

  参数说明:

  tuple:对需要合并的数组用元组的形式给出

  axis: 沿指定的轴进行拼接,默认0,即第一个轴

  """

  ```

  比如我们有两个数组:  

屏幕快照 2021-04-22 下午6.12.41

  所以是对两个数组进行了axis=0轴的合并,如果将axis换成1则变成:  

屏幕快照 2021-04-22 下午6.14.37

  ##### append函数

  函数的说明如下:

  ```

  append(arr, values, axis=None)

  """

  参数说明:

  arr:类似array的数据

  values: 类似array的数据

  axis:进行append操作的axis的方向,默认无

  """

  ```

  代码示例:  

屏幕快照 2021-04-22 下午6.19.21

  大家发现,若axis为None,则先将arr和values进行ravel扁平化,再拼接;如果指定axis=0表示x轴的拼接,而如果axis=1表示y轴的拼接。

  ##### stack函数

  函数的说明如下:

  ```

  stack(arrays, axis=0, out=None)

  """

  沿着指定的axis对arrays(每个array的shape必须一样)进行拼接,返回值的维度比原arrays的维度高1

  axis:默认为0,即第一个轴,若为-1即为第二个轴

  """

  ```

  代码演示:(仍然使用上面的data1和data2)  

屏幕快照 2021-04-22 下午6.24.51  

屏幕快照 2021-04-22 下午6.25.01

  可以发现如果axis=1,就是x轴的依次进行组合,如果是axis=-1就是两个数组的列进行组合。 当然如果想直接进行行或者列的拼接也可以使用:hstack、vstack分别表示只进行行的拼接,或者列的拼接,类似上面的axis=1或axis=-1的情况。

  总结:

  增加行(对行进行拼接)的方法有

  ```

  np.concatenate((ar1, ar2),axis=0)

  np.append(ar1, ar2, axis=0)

  np.vstack((ar1,ar2))

  ```

  增加列(对列进行拼接)的方法有:

  ```

  np.concatenate((ar1, ar2),axis=1)

  np.append(ar1, ar2, axis=1)

  np.hstack((ar1,ar2))

  ```

  内容比较多,大家要多多练习哦!

  更多关于“Python培训”的问题,欢迎咨询千锋教育在线名师。千锋教育多年办学,课程大纲紧跟企业需求,更科学更严谨,每年培养泛IT人才近2万人。不论你是零基础还是想提升,都可以找到适合的班型,千锋教育随时欢迎你来试听。

  注:本文部分文字和图片来源于网络,如有侵权,请联系删除。版权归原作者所有!

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT