【问题标题】:pythonic way to delete elements from a numpy array [duplicate]pythonic从numpy数组中删除元素的方法[重复]
【发布时间】:2013-03-22 20:42:15
【问题描述】:

如果你有array = np.array([1,2,3,4]) 和index = np.array([0,1,2]) 并且你想删除数组中的索引元素,那么在不循环的情况下最好的方法是什么?

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    你使用numpy.delete:

    smaller_array = np.delete(array,index)
    

    【讨论】:

    • +1 但为了完整起见,@askewchan 在this other question 中发现构建布尔掩码比使用np.delete 更快,即mask = np.ones(array.shape, dtype=np.bool); mask[index] = False; smaller_array = array[mask]。
    • 速度差异应该基本消失,因为删除基本上是 1.8 中的速记。和以后(对于较小的切片和单个整数有一些更快的路径)。直到稍长一点,超出界限/负或布尔索引仍有一些差异。
    猜你喜欢
    • 2019-12-11
    • 2016-07-13
    • 2019-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多