zoukankan      html  css  js  c++  java
  • numpy中的delete,insert,append函数

    delete

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

    a = np.array(np.arange(12).reshape(3,4))
    
    a
    array([[ 0,  1,  2,  3],
           [ 4,  5,  6,  7],
           [ 8,  9, 10, 11]])
    
    np.delete(a,1,0)
    array([[ 0,  1,  2,  3],
           [ 8,  9, 10, 11]])
    
    np.delete(a,1,1)
    array([[ 0,  2,  3],
           [ 4,  6,  7],
           [ 8, 10, 11]])
    
    np.delete(a,[0,1],1)
    array([[ 2,  3],
           [ 6,  7],
           [10, 11]])
    
    np.delete(a,np.s_[::2],1)
    array([[ 1,  3],
           [ 5,  7],
           [ 9, 11]])
    

    注意:
    numpy.s_[::2]表示选取奇数。

    insert

    numpy.insert(arr,obj,value,axis=None)
    同理,value为插入的数值
    arr:为目标向量
    obj:为目标位置
    value:为想要插入的数值
    axis:为插入的维度

    np.insert(a,1,[1,1,1,1],0)
    Out[309]: 
    array([[ 0,  1,  2,  3],
           [ 1,  1,  1,  1],
           [ 4,  5,  6,  7],
           [ 8,  9, 10, 11]])
    

    append

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

    a
    Out[310]: 
    array([[ 0,  1,  2,  3],
           [ 4,  5,  6,  7],
           [ 8,  9, 10, 11]])
    
    np.append(a,[1,1,1,1],axis=0)
    Traceback (most recent call last):
    
      File "<ipython-input-311-5585d9489cff>", line 1, in <module>
        np.append(a,[1,1,1,1],axis=0)
    
      File "D:Anacondalibsite-packages
    umpylibfunction_base.py", line 4586, in append
        return concatenate((arr, values), axis=axis)
    
    ValueError: all the input arrays must have same number of dimensions
    

    正确形式为

    a
    Out[312]: 
    array([[ 0,  1,  2,  3],
           [ 4,  5,  6,  7],
           [ 8,  9, 10, 11]])
    
    np.append(a,[[1,1,1,1]],axis=0)
    Out[313]: 
    array([[ 0,  1,  2,  3],
           [ 4,  5,  6,  7],
           [ 8,  9, 10, 11],
           [ 1,  1,  1,  1]])
    

    转载自:
    作者:开贰锤
    来源:CSDN
    原文:https://blog.csdn.net/weixin_37895339/article/details/78442555
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    四个足以警醒你一生的故事!
    人们通常不知道自己想要什么,除非你秀出产品给他们看。
    有些话应该记住
    禅语
    是笑话,是悲凉,是笑后的真实,是真实后的悲凉
    vb6.0分隔文本文件读写的两个例程
    boost Serialization源码分析(1)
    养成好习惯,好气质
    日记(海子)
    关于C#的委托与事件的一个小DEMO
  • 原文地址:https://www.cnblogs.com/lucky75/p/11173717.html
Copyright © 2011-2022 走看看