zoukankan      html  css  js  c++  java
  • 1-Numpy之hstack、vstack、concatenate区别

    concatenate与hstack、vstack的异同点:

      都表示拼接数组,concatenate可以实现hstack和vstack的功能,只需要通过调整参数axis的值即可。

    其中:v表示垂直(Vertical)

          h表示水平(Horizontal)

      axis=0,表示将拼接新行,相当于vstack;

      axis=1,表示将拼接新列,相当于hstack。

    在拼接过程中需要注意的是:传入的数组必须在指定轴上有相同的维度

    举个例子吧!

    arr=np.array([[1,2,3],[2,2,3],[3,5,1]])
    >>> arr
    array([[1, 2, 3],
           [2, 2, 3],
           [3, 5, 1]])
    
    #hstack用法
    >>> h_ze = np.zeros((3,1))
    >>> h_ze
    array([[0.],
           [0.],
           [0.]])
    
    np.hstack((arr,he_ze))
    array([[1., 2., 3., 0.],
           [2., 2., 3., 0.],
           [3., 5., 1., 0.]])
    
    #vstack用法
    >>> v_ze = np.zeros((1,3))
    >>> v_ze
    array([[0., 0., 0.]])
    >>> np.vstack((arr,v_ze))
    array([[1., 2., 3.],
           [2., 2., 3.],
           [3., 5., 1.],
           [0., 0., 0.]])
    
    
    #axis=1相当于hstack
    >>> np.concatenate((arr,h_ze),axis=1)
    array([[1., 2., 3., 0.],
           [2., 2., 3., 0.],
           [3., 5., 1., 0.]])
    
    #axis=0相当于vstack
    >>> np.concatenate((arr,v_ze),axis=0)
    array([[1., 2., 3.],
           [2., 2., 3.],
           [3., 5., 1.],
           [0., 0., 0.]])
  • 相关阅读:
    023 AQS--JUC的核心
    022 Future接口
    021 Callable接口
    020 线程的综合考虑
    019 线程协作
    命令,lldb,llvm,gdb,gcc,
    @class,import,
    arc,自动引用计数,
    写在哪里,
    40岁生日,
  • 原文地址:https://www.cnblogs.com/Cheryol/p/13376110.html
Copyright © 2011-2022 走看看