zoukankan      html  css  js  c++  java
  • Numpy array 合并

    1、np.vstack() :垂直合并

    >>> import numpy as np
    >>> A = np.array([1,1,1])
    >>> B = np.array([2,2,2])
    >>> print(np.vstack((A,B))) # vertical stack,属于一种上下合并,即对括号中的两个整体进行对应操作
    [[1 1 1]
     [2 2 2]]
    
    >>> C = np.vstack((A,B))
    >>> print(A.shape,C.shape)
    (3,) (2, 3)

    2、np.hstack():水平合并

    >>> D = np.hstack((A,B)) # horizontal stack,即左右合并
    >>> print(D)
    [1 1 1 2 2 2]
    >>> print(A.shape,D.shape)
    (3,) (6,)

    3、np.newaxis():转置

    >>> print(A[np.newaxis,:])
    [[1 1 1]]
    >>> print(A[np.newaxis,:].shape)
    (1, 3)
    >>> print(A[:,np.newaxis])
    [[1]
     [1]
     [1]]
    >>> print(A[:,np.newaxis].shape)
    (3, 1)
    
    
    >>> A = np.array([1,1,1])[:,np.newaxis]
    >>> B = np.array([2,2,2])[:,np.newaxis]
    >>> C = np.vstack((A,B))   # vertical stack
    >>> D = np.hstack((A,B))   # horizontal stack
    >>> print(D)
    [[1 2]
     [1 2]
     [1 2]]
    >>> print(A.shape,D.shape)
    (3, 1) (3, 2)

    4、np.concatenate():针对多个矩阵或序列的合并操作

    #axis参数很好的控制了矩阵的纵向或是横向打印,相比较vstack和hstack函数显得更加
    >>> C = np.concatenate((A,B,B,A),axis=0)
    >>> print(C)
    [[1]
     [1]
     [1]
     [2]
     [2]
     [2]
     [2]
     [2]
     [2]
     [1]
     [1]
     [1]]
    
    >>> D = np.concatenate((A,B,B,A),axis=1)
    >>> print(D)
    [[1 2 2 1]
     [1 2 2 1]
     [1 2 2 1]]
  • 相关阅读:
    layer备忘
    Java中遍历Map对象的4种方法
    为什么Java中1000==1000为false而100==100为true?
    linux系统安装psycopg2
    centos7源码安装mysql5.7
    Azure Sql
    javascript和jQuery动态修改css样式的方法
    Git early EOF index-pack failed 问题
    C# 多线程——SemaphoreSlim的使用
    Docker 可视化
  • 原文地址:https://www.cnblogs.com/anhoo/p/9383520.html
Copyright © 2011-2022 走看看