umpy.delete 函数返回从输入数组中删除指定子数组的新数组。 与 insert() 函数的情况一样,如果未提供轴参数,则输入数组将展开。

Numpy.delete(arr, obj, axis)

参数说明:

  • arr:输入数组

  • obj:可以被切片,整数或者整数数组,表明要从输入数组删除的子数组

  • axis:沿着它删除给定子数组的轴,如果未提供,则输入数组会被展开

  • 实例

    import numpy as np a = np.arange(12).reshape(3,4) print ('第一个数组:')print (a)print ('\n') print ('未传递 Axis 参数。 在插入之前输入数组会被展开。')print (np.delete(a,5))print ('\n') print ('删除第二列:')print (np.delete(a,1,axis = 1))print ('\n') print ('包含从数组中删除的替代值的切片:')a = np.array([1,2,3,4,5,6,7,8,9,10])print (np.delete(a, np.s_[::2]))

    输出结果为:

    第一个数组:[[ 0  1  2  3]
     [ 4  5  6  7]
     [ 8  9 10 11]]未传递 Axis 参数。 在插入之前输入数组会被展开。[ 0  1  2  3  4  6  7  8  9 10 11]删除第二列:[[ 0  2  3]
     [ 4  6  7]
     [ 8 10 11]]包含从数组中删除的替代值的切片:[ 2  4  6  8 10]

    numpy.unique

    numpy.unique 函数用于去除数组中的重复元素。

    numpy.unique(arr, return_index, return_inverse, return_counts)
  • arr:输入数组,如果不是一维数组则会展开

  • return_index:如果为true,返回新列表元素在旧列表中的位置(下标),并以列表形式储

  • return_inverse:如果为true,返回旧列表元素在新列表中的位置(下标),并以列表形式储

  • return_counts:如果为true,返回去重数组中的元素在原数组中的出现次数

  • 实例

    import numpy as np a = np.array([5,2,6,2,7,5,6,8,2,9]) print ('第一个数组:')print (a)print ('\n') print ('第一个数组的去重值:')u = np.unique(a)print (u)print ('\n') print ('去重数组的索引数组:')u,indices = np.unique(a, return_index = True)print (indices)print ('\n') print ('我们可以看到每个和原数组下标对应的数值:')print (a)print ('\n') print ('去重数组的下标:')u,indices = np.unique(a,return_inverse = True)print (u)print ('\n') print ('下标为:')print (indices)print ('\n') print ('使用下标重构原数组:')print (u[indices])print ('\n') print ('返回去重元素的重复数量:')u,indices = np.unique(a,return_counts = True)print (u)print (indices)

    输出结果为:

    第一个数组:[5 2 6 2 7 5 6 8 2 9]第一个数组的去重值:[2 5 6 7 8 9]去重数组的索引数组:[1 0 2 4 7 9]我们可以看到每个和原数组下标对应的数值:[5 2 6 2 7 5 6 8 2 9]去重数组的下标:[2 5 6 7 8 9]下标为:[1 0 2 0 3 1 2 4 0 5]使用下标重构原数组:[5 2 6 2 7 5 6 8 2 9]返回去重元素的重复数量:[2 5 6 7 8 9][3 2 2 1 1 1]