insert(arr, obj, values, axis=None)

简记为:insert(原数组, 插入位置, 插入值, 默认按行插入(axis=1按列插入))

参数说明:

  • arr : 需要插入的数组,即Input array;
  • obj:向数组中插入值的位置,可以是int,slice等;
  • values:往数组中插入的值;
  • axis:可选,默认为None按行插入,axis=1时按列插入。
    Examples
    #注意数组是从索引0开始的
            --------
        >>> a = np.array([[1, 1], [2, 2], [3, 3]])
        >>> a
        array([[1, 1],
               [2, 2],
               [3, 3]])
        >>> np.insert(a, 1, 5) #在数组a的第一个位置插入5
        array([1, 5, 1, 2, 2, 3, 3])
    
        >>> np.insert(a, 1, 5, axis=1) #在数组a的中按列插入5
        array([[1, 5, 1],
               [2, 5, 2],
               [3, 5, 3]])
    
        Difference between sequence and scalars:
    
        >>> np.insert(a, [1], [[1],[2],[3]], axis=1) #在数组a中的索引1处按列插入[[1],[2],[3]]
        array([[1, 1, 1],
               [2, 2, 2],
               [3, 3, 3]])
        
        #以下两种方法等价
        >>> np.array_equal(np.insert(a, 1, [1, 2, 3], axis=1),
        ...                np.insert(a, [1], [[1],[2],[3]], axis=1))
        True
    
        >>> b = a.flatten()
        >>> b
        array([1, 1, 2, 2, 3, 3])
    
        >>> np.insert(b, [2, 2], [5, 6]) #暂时不太理解,有大神知道可以评论留言,我及时补充
        array([1, 1, 5, 6, 2, 2, 3, 3])
    
        >>> np.insert(b, slice(2, 4), [5, 6]) #切片并在b的第2和4的位置分别插入5和6
        array([1, 1, 5, 2, 6, 2, 3, 3])
    
        >>> np.insert(b, [2, 2], [7.13, False]) #暂时不太理解,有大神知道可以留言,我及时补充
        array([1, 1, 7, 0, 2, 2, 3, 3])
    
        >>> x = np.arange(8).reshape(2, 4)
        >>> idx = (1, 3)
        >>> np.insert(x, idx, 999, axis=1)#原本的x数组中1,3位置按列插入999
        array([[  0, 999,   1,   2, 999,   3],
               [  4, 999,   5,   6, 999,   7]])
    

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐