zoukankan      html  css  js  c++  java
  • 学校合并与数组合并

    numpy中的函数np.concatenate()可用于numpy数组的合并,使用时需要指定axis,如何理解axis的含义呢,这里用学校与学校的合并来打比方。

    假设有学校A和学校B,每个学校都有3个年级,每个年级有2个班,每个班有4个学生,那么这两个学校都可以表示为三维numpy数组:

    >>> import numpy as np
    >>> school_A = np.array([[[1,2,3,4],[1,2,3,4]],[[1,2,3,4],[1,2,3,4]],[[1,2,3,4],[1,2,3,4]]])
    >>> school_B = school_A.copy()
    >>> print(school_A)
    [[[1 2 3 4]
      [1 2 3 4]]
    
     [[1 2 3 4]
      [1 2 3 4]]
    
     [[1 2 3 4]
      [1 2 3 4]]]
    

    现在要将这两个学校合并,有三种方案。

    方案一:学校A和学校B的所有年级放在一起,这样新学校就有6个年级,此时axis=0

    >>> np.concatenate((school_A,school_B),axis=0)
    array([[[1, 2, 3, 4],
            [1, 2, 3, 4]],
    
           [[1, 2, 3, 4],
            [1, 2, 3, 4]],
    
           [[1, 2, 3, 4],
            [1, 2, 3, 4]],
    
           [[1, 2, 3, 4],
            [1, 2, 3, 4]],
    
           [[1, 2, 3, 4],
            [1, 2, 3, 4]],
    
           [[1, 2, 3, 4],
            [1, 2, 3, 4]]])
    

    方案二:将学校A和学校B的相同年级的所有班级放在一起,这样新学校还是有3个年级,但每个年级有4个班,此时axis=1

    >>> np.concatenate((school_A,school_B),axis=1)
    array([[[1, 2, 3, 4],
            [1, 2, 3, 4],
            [1, 2, 3, 4],
            [1, 2, 3, 4]],
    
           [[1, 2, 3, 4],
            [1, 2, 3, 4],
            [1, 2, 3, 4],
            [1, 2, 3, 4]],
    
           [[1, 2, 3, 4],
            [1, 2, 3, 4],
            [1, 2, 3, 4],
            [1, 2, 3, 4]]])
    

    方案三:将学校A和学校B的对应班级的所有学生放在一起,这样新学校还是有3个年级,每个年级2个班,但是每个班级有8个学生,此时axis=2

    >>> np.concatenate((school_A,school_B),axis=2)
    array([[[1, 2, 3, 4, 1, 2, 3, 4],
            [1, 2, 3, 4, 1, 2, 3, 4]],
    
           [[1, 2, 3, 4, 1, 2, 3, 4],
            [1, 2, 3, 4, 1, 2, 3, 4]],
    
           [[1, 2, 3, 4, 1, 2, 3, 4],
            [1, 2, 3, 4, 1, 2, 3, 4]]])
    
  • 相关阅读:
    规则引擎.Net Core
    GDPR(Cookie处理)
    NSSM把.Net Core部署至 Windows 服务
    Consul实现服务治理1
    微服务
    Consul实现服务治理
    NET Core Web发布包
    NET API 分析器
    NET Core 2.1 Global Tools
    css3中-moz、-ms、-webkit,-o分别代表的意思,以及微信浏览器内核分析
  • 原文地址:https://www.cnblogs.com/bill-h/p/13904884.html
Copyright © 2011-2022 走看看