zoukankan      html  css  js  c++  java
  • Numpy的学习5-array的分割

    import numpy as np
    A = np.arange(12).reshape((3, 4))
    print(A)
    """
    array([[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]])
    """
    
    #纵向分割
    
    print(np.split(A, 2, axis=1))
    """
    [array([[0, 1],
            [4, 5],
            [8, 9]]), array([[ 2,  3],
            [ 6,  7],
            [10, 11]])]
    """
    
    # 横向分割
    
    print(np.split(A, 3, axis=0))
    
    # [array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8,  9, 10, 11]])]
    
    # 错误的分割
    #
    # 范例的Array只有4列,只能等量对分,因此输入以上程序代码后Python就会报错。
    # 可以看到split(矩阵,分割单位中元素的个数,分割方向)-》0表示的是横向,1表示的纵向
    
    print(np.split(A, 3, axis=1))
    
    # ValueError: array split does not result in an equal division
    
    # 为了解决这种情况, 我们会有下面这种方式.
    
    
    # 不等量的分割
    
    # 在机器学习时经常会需要将数据做不等量的分割,因此解决办法为np.array_split()
    # 为什么机器学习的时候会做不等量的分隔??
    print(np.array_split(A, 3, axis=1))
    """
    [array([[0, 1],
            [4, 5],
            [8, 9]]), array([[ 2],
            [ 6],
            [10]]), array([[ 3],
            [ 7],
            [11]])]
            可以看到第一个为矩阵3行x2列   第二个为矩阵 3x1 第三个为矩阵 3x1
    """
    
    # 其他的分割方式
    #
    # 在Numpy里还有np.vsplit()与横np.hsplit()方式可用。
    # v表示的是vertical h表示的是horizontal
    
    print(np.vsplit(A, 3)) #等于 print(np.split(A, 3, axis=0))
    
    # [array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8,  9, 10, 11]])]
    
    
    print(np.hsplit(A, 2)) #等于 print(np.split(A, 2, axis=1))
    """
    [array([[0, 1],
           [4, 5],
           [8, 9]]), array([[ 2,  3],
            [ 6,  7],
            [10, 11]])]
    """
    

     分割的作用

    在卷积神经网络中 卷积的过程就要用到array的分割,因为是一小块一小块的卷积的

    np.hsplit(A, 2) 等于 np.split(A, 2, axis=1) vertical
    np.vsplit(A, 3) 等于 np.split(A, 3, axis=0) horizontal
     
  • 相关阅读:
    Oracle Relink RAC Binary Options 说明
    Oracle 10g 对象 默认 ITL 数量 测试
    Oracle 相关的专业术语 说明
    Oracle 11g 新特性 自适应游标共享(Adaptive Cursor Sharing: ACS) 说明
    symbian 学习笔记(1) 基础
    symbian 学习笔记(3) 手机独有
    计算机体系结构几个常用的知识点记录
    数据结构和算法笔记(3)
    windows mobile 通用曾抽象
    一些简单常用算法整理学习
  • 原文地址:https://www.cnblogs.com/simon-idea/p/9571300.html
Copyright © 2011-2022 走看看