代码之家  ›  专栏  ›  技术社区  ›  user3452134

如何连接Python阵列

  •  0
  • user3452134  · 技术社区  · 6 年前

    我不明白什么时候是求和运算,或者只是连接两个数组

    x = np.arange(10)
    x
    #array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
    
    x[4]=44
    x
    #array([ 0,  1,  2,  3, 44,  5,  6,  7,  8,  9])
    
    xs=np.split(x,5)
    xs
    #[array([0, 1]), array([2, 3]), array([44,  5]), array([6, 7]), array([8, 9])]
    

    这是什么形状?

    xs=np.split(x,5)
    xs
    #[array([0, 1]), array([2, 3]), array([44,  5]), array([6, 7]), array([8, 9])]
    
    i=2
    xscn = np.concatenate((xs[:i]+xs[i+1:]))
    xscn
    #array([0, 1, 2, 3, 6, 7, 8, 9])
    

    “那么为什么不求数组的和就把它们放在一边(不是ariane grande哈哈哈)”

    f=(xs[:i]+xs[i+1:])
    f
    
    #[array([0, 1]), array([2, 3]), array([6, 7]), array([8, 9])]
    

    所以它只是把一个数组放在另一个数组上。

    cc=np.concatenate(f)   
    cc  
    #array([0, 1, 2, 3, 6, 7, 8, 9])
    
    ff=xs[:i]+xs[i+1:]
    ff
    #[array([0, 1]), array([2, 3]), array([6, 7]), array([8, 9])]
    

    因此,当它添加和只设置一个又一个列表时,我也无法键入形状。

    1 回复  |  直到 6 年前
        1
  •  1
  •   ForceBru    6 年前
    1. type(np.split(x, 5)) == list list 我们没有 shape ,但您可以找到 len gths;
    2. xs 是一个 列表 ,因此添加两个列表会将它们连接起来:

      xs[:i]+xs[i+1:] == [array([0, 1]), array([2, 3]), array([6, 7]), array([8, 9])]
      

      那你呢 concatenate 将所有这些小阵列合并为一个,从而返回原始阵列。

    3. 原因同上
    4. 原因同上

    问题是,Python 列表 s是 努比 ndarray s、 并且表现不同。