numpy.insert(arr,obj,values,axis=None)[source]¶Insert values along the given axis before the given indices.
| Parameters: | arr : array_like
obj : int, slice or sequence of ints
values : array_like
axis : int, optional
|
|---|---|
| Returns: | out : ndarray
|
See also
appendconcatenatedeleteNotes
Note that for higher dimensional insertsobj=0 behaves very differentfromobj=[0] just likearr[:,0,:] = values is different fromarr[:,[0],:] = values.
Examples
>>>a=np.array([[1,1],[2,2],[3,3]])>>>aarray([[1, 1], [2, 2], [3, 3]])>>>np.insert(a,1,5)array([1, 5, 1, 2, 2, 3, 3])>>>np.insert(a,1,5,axis=1)array([[1, 5, 1], [2, 5, 2], [3, 5, 3]])
Difference between sequence and scalars:
>>>np.insert(a,[1],[[1],[2],[3]],axis=1)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()>>>barray([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])array([1, 1, 5, 2, 6, 2, 3, 3])
>>>np.insert(b,[2,2],[7.13,False])# type castingarray([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)array([[ 0, 999, 1, 2, 999, 3], [ 4, 999, 5, 6, 999, 7]])