【问题标题】:numpy insert an element keeping number of array dimensionsnumpy 插入一个元素,保持数组维度的数量
【发布时间】:2017-12-05 01:15:26
【问题描述】:

我有一个像这样的 numpy 数组:

[[1, 2, 3], [1, 2, 4]]

我想像这样将一个元素 [100, 101, 102] 附加到数组中:

[[1, 2, 3], [1, 2, 4], [100, 101, 102]]

我尝试了numpy.append,但它创建了一个包含所有元素的一维数组。我该怎么做?

【问题讨论】:

    标签: python numpy append


    【解决方案1】:

    使用np.append时需要指定axis,并且该值需要具有正确的形状;以下作品:

    a = [[1, 2, 3], [1, 2, 4]]
    b = [100, 101, 102]
    
    np.append(a, [b], axis=0)
    #array([[  1,   2,   3],
    #       [  1,   2,   4],
    #       [100, 101, 102]])
    

    如果您有列表:

    a.append(b)
    np.array(a)
    

    应该更有效率。

    【讨论】:

      【解决方案2】:

      或使用np.vstack(tup) 例程:

      import numpy as np
      
      arr = np.array([[1, 2, 3], [1, 2, 4]])
      arr = np.vstack((arr, [100, 101, 102]))
      print(arr)
      

      输出:

      [[  1   2   3]
       [  1   2   4]
       [100 101 102]]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-05-08
        • 1970-01-01
        • 1970-01-01
        • 2020-08-12
        • 1970-01-01
        • 2021-07-10
        • 2021-02-06
        相关资源
        最近更新 更多