numpy的numpy.delete()/insert()/append()函数

1、numpy.delete(arr,obj,axis=None) 

arr:输入向量 
obj:表明哪一个子向量应该被移除。可以为整数或一个int型的向量 
axis:表明删除哪个轴的子向量,若默认,则返回一个被拉平的向量

 a = np.array(np.arange(12).reshape(3, 4))
    print(a) #[[ 0  1  2  3]
             #[ 4  5  6  7]
             #[ 8  9 10 11]]
    print(np.delete(a,1,0))  #删除第一行数据
    #[[ 0  1  2  3]
    #[ 8  9 10 11]]
    print(np.delete(a,1,1))  #删除第一列数据
    #[[ 0  2  3]
    #[ 4  6  7]
    #[ 8 10 11]]
    print(np.delete(a,[0,1],1)) #删除0和1列数据 
    #[[ 2  3]
    #[ 6  7]
    #[10 11]]
  • 注: numpy.s_[::2]表示选取奇数。

2、numpy.insert(arr,obj,value,axis=None) 

arr:为目标向量 
obj:为目标位置 
value:为想要插入的数值 
axis:为插入的维度

   a = np.array(np.arange(12).reshape(3, 4))
    print(a) #[[ 0  1  2  3]
             #[ 4  5  6  7]
             #[ 8  9 10 11]]
    print(np.insert(a, 1, [1, 1, 1, 1], 0))  #第一行添加数组[1 ,1 ,1 ,1]
    #[[0  1  2  3]
    #[1  1  1  1]
    #[4  5  6  7]
    #[8  9 10 11]]

详情参考:https://docs.scipy.org/doc/numpy1.10.0/reference/generated/numpy.insert.html

3、numpu.append(arr,values,axis=None) 

将values插入到目标arr的最后。 
注意,这里values跟arr应该为相同维度的向量,例如,如下第一个为错误情况

正确形式为

a = np.array(np.arange(12).reshape(3, 4))
    print(a) #[[ 0  1  2  3]
             #[ 4  5  6  7]
             #[ 8  9 10 11]]
    print(np.append(a, [[1, 1, 1, 1]], axis=0))
    #[[0  1  2  3]
    #[4  5  6  7]
    #[8  9 10 11]]
    #[ 1  1  1  1]]

猜你喜欢

转载自blog.csdn.net/mingyuli/article/details/81608039
今日推荐