全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

Numpy数组拼接

发布时间:2022-08-12 16:14:05
发布人:syq

  #### 拼接

  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万人。不论你是零基础还是想提升,都可以找到适合的班型,千锋教育随时欢迎你来试听。

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

相关文章

反欺诈中所用到的机器学习模型有哪些?

反欺诈中所用到的机器学习模型有哪些?

2023-10-14
强化学习中on-policy与off-policy有什么区别?

强化学习中on-policy与off-policy有什么区别?

2023-10-14
为什么交叉熵可以用于计算代价?

为什么交叉熵可以用于计算代价?

2023-10-14
开发网上平台的大概流程有什么?

开发网上平台的大概流程有什么?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取