• python机器学习库numpy---12、数组分割


    python机器学习库numpy---12、数组分割

    一、总结

    一句话总结:

    1、numpy数组等量分割可以用hsplit(horizontal split)、vsplit(vertical split)、split等方法
    2、numpy数组不等量分割可以用array_split方法
    不等量分割
    不等量分割可以用array_split方法
    
    2.1、水平分割
    水平分割,所以axis是1
    
    a = np.arange(12).reshape((3,4))
    print(a)
    
    [[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]]
    
    print(np.array_split(a,3,axis=1))
    
    [array([[0, 1],
           [4, 5],
           [8, 9]]), array([[ 2],
           [ 6],
           [10]]), array([[ 3],
           [ 7],
           [11]])]

    二、数组分割

    博客对应课程的视频位置:12、数组分割-范仁义-读书编程笔记
    https://www.fanrenyi.com/video/38/355

    1、等量分割

    等量分割可以用hsplit(horizontal split)、vsplit(vertical split)、split等方法

    axis为1表示横轴,axis为0表示纵轴

    1.1、水平分割

    In [1]:
    import numpy as np
    a = np.arange(12).reshape((3,4))
    print(a)
    
    [[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]]
    
    In [2]:
    # hsplit
    print(np.hsplit(a,2))
    
    [array([[0, 1],
           [4, 5],
           [8, 9]]), array([[ 2,  3],
           [ 6,  7],
           [10, 11]])]
    
    In [ ]:
    # hsplit方法不等量分割会报错
    print(np.hsplit(a,3))
    
    In [4]:
    # axis=1表示对水平进行操作
    print(np.split(a,2,axis=1))
    
    [array([[0, 1],
           [4, 5],
           [8, 9]]), array([[ 2,  3],
           [ 6,  7],
           [10, 11]])]
    
    In [ ]:
    # split不等量分割也会报错
    print(np.split(a,3,axis=1))
    

    1.2、垂直分割

    In [6]:
    a = np.arange(12).reshape((4,3))
    print(a)
    
    [[ 0  1  2]
     [ 3  4  5]
     [ 6  7  8]
     [ 9 10 11]]
    
    In [7]:
    print(np.vsplit(a,2))
    
    [array([[0, 1, 2],
           [3, 4, 5]]), array([[ 6,  7,  8],
           [ 9, 10, 11]])]
    
    In [8]:
    print(np.split(a,2,axis=0))
    
    [array([[0, 1, 2],
           [3, 4, 5]]), array([[ 6,  7,  8],
           [ 9, 10, 11]])]
    

    2、不等量分割

    不等量分割可以用array_split方法

    2.1、水平分割

    水平分割,所以axis是1

    In [9]:
    a = np.arange(12).reshape((3,4))
    print(a)
    
    [[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]]
    
    In [10]:
    print(np.array_split(a,3,axis=1))
    
    [array([[0, 1],
           [4, 5],
           [8, 9]]), array([[ 2],
           [ 6],
           [10]]), array([[ 3],
           [ 7],
           [11]])]
    

    2.2、垂直分割

    垂直分割,所以axis=0

    In [11]:
    a = np.arange(12).reshape((3,4))
    print(a)
    
    [[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]]
    
    In [12]:
    print(np.array_split(a,2,axis=0))
    
    [array([[0, 1, 2, 3],
           [4, 5, 6, 7]]), array([[ 8,  9, 10, 11]])]
    
    In [ ]:
     
    我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
    博主25岁,前端后端算法大数据人工智能都有兴趣。
    大家有啥都可以加博主联系方式(qq404006308,微信fan404006308)互相交流。工作、生活、心境,可以互相启迪。
    聊技术,交朋友,修心境,qq404006308,微信fan404006308
    26岁,真心找女朋友,非诚勿扰,微信fan404006308,qq404006308
    人工智能群:939687837

    作者相关推荐

  • 相关阅读:
    linux命令大全
    【转载】nginx的五种负载算法
    nginx服务器安装及配置文件详解
    查看linux系统核数
    利用nginx实现分流
    ntohs, ntohl, htons,htonl的比较和详解
    Nginx反向代理之HTTP 请求头中的 X-Forwarded-For
    javascript中 for in 、for 、forEach 、for of 、Object.keys().
    vue里面路由传参的三种方式
    vue中ref在input中详解
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/13584715.html
Copyright © 2020-2023  润新知