Python在机器学习中切割与合并数组的几个函数

在人工智能领域,特别是在深度学习中会经常遇到数组需要切割或者拼接,python中处理数组分割与拼接的方法很多,本文将介绍使用numpy处理数组拼接与分割的几个函数。

1.数组的分割:

 均等分割-numpy.split()

split(ary, indices_or_sections, axis=0)

参数: 

ary:要切分的数组 

indices_or_sections:如果是一个整数,就用该数平均切分,如果是一个数组,为沿轴切分的位置(左开右闭) 

axis:沿着哪个维度进行切向,默认为0,横向切分。为1时,纵向切分

注意:如果根据提供的参数不能实现均等切分,会报错。

运行结果:

2.非均等分割-numpy.array_split()

参数:

ary:要切分的数组 

indices_or_sections:如果是一个整数,就用该数平均切分,如果是一个数组,为沿轴切分的位置(左开右闭) 

axis:沿着哪个维度进行切向,默认为0,横向切分。为1时,纵向切分

注意:若不能均等切分,不会报错,会根据如下规则切割:若设置数组分割个为n,长度为 L 的数组,前 L % n 个组的大小是 L // n + 1,剩下组的大小是 L // n。其中%表示取余, // 表示下取整。

运行结果:

3.数组的拼接-extend()

注意:该函数只适用于简单的一维数组拼接,且转换过程消耗时间长,对于大量数据的拼接不建议使用。

4.数组的拼接-numpy.append(arr, values, axis=None)

参数:一个数组和一个数值拼接,或者两个数组拼接,不能三个及以上数组拼接。

5.数组的拼接-numpy.concatenate((a1,a2,...), axis=0)

参数: 

a1,a2……: 要拼接的数组 

axis: 在哪个维度上进行拼接,默认为0

注意:concatenate() 和 append() 相比,concatenate()的效率更高,在机器学习中处理大量数组合并时,常用concatenate()


文章来源:https://mp.weixin.qq.com/s/HUdfJPnvwwAc6WDiyFqw1g

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • To be continue NumPy(Numerical Python) 是 Python 语言的一个扩展程序...
    z761943阅读 1,650评论 1 7
  • Python列表的一些操作 1、列表(list)的元素删除方法 a.pop(index):删除列表a中index处...
    赖子啊阅读 450评论 0 4
  • 下面介绍关于Numpy的一些基本操作 一、查看numpy的基本属性X=numpy.arange(15).resha...
    MMatx阅读 491评论 0 4
  • 什么是NumPy? NumPy是Python中科学计算的基础软件包。它是一个提供多了维数组对象,多种派生对象(如:...
    iOSDevLog阅读 2,953评论 0 0
  • 七月的天有着七色的梦,我于时间从七月开始,晓晨初上,有了第一缕阳光,美好而又自然。20多年间东南西北闯了一圈,还是...
    林七晓晓阅读 706评论 4 18