numpy数组去掉重复的行,保留唯一的行数据
有以下numpy.array数据:
>>> original_array # 
array([[1, 1, 1, 0, 0, 0],
       [0, 1, 1, 1, 0, 0],
       [0, 1, 1, 1, 0, 0],
       [1, 1, 1, 0, 0, 0],
       [1, 1, 1, 1, 1, 0]])期待去掉重复的行结果为:
>>> unique_rows # 
array([[1, 1, 1, 0, 0, 0],
       [0, 1, 1, 1, 0, 0],
       [1, 1, 1, 1, 1, 0]])解决方法:
NumPy 1.13 可以使用unique,只需选择axis,即可在任何N维数组中选择唯一值。
去掉重复,保留唯一行
unique_rows = np.unique(original_array, axis=0)需要注意的是,它会把重复的行留下其中一行,并不会删除所有重复的行。
删除所有重复的行:
使用reture_counts
arr, uniq_cnt = np.unique(original_array, axis=0, return_counts=True)
original_array= arr[uniq_cnt==1]使用uniq_cnt为1作为过滤。
 
             
             
             
             
            