NumPy数组最常用的4个去重方法

NumPy提供了多种方法用于对数组进行去重。下面介绍其中的几种方法:

numpy.unique()

numpy.unique()函数可以用于找到数组中的唯一值,并以排序的形式返回结果。它的参数包括:

  • arr:需要去重的数组;
  • return_index:如果为True,则返回输入数组中唯一元素的索引;
  • return_inverse:如果为True,则返回输入数组中唯一元素的索引的反向数组;
  • return_counts:如果为True,则返回输入数组中唯一元素的出现次数。

示例代码如下:

import numpy as np

arr = np.array([1, 2, 3, 2, 4, 3, 5, 6, 5, 7])
unique_arr = np.unique(arr)
print(unique_arr)   # [1 2 3 4 5 6 7]

numpy.ndarray.flatte()方法

numpy.ndarray.flatten()方法可以用于将多维数组变为一维数组,并去掉其中的重复元素。该方法没有参数。示例代码如下:


import numpy as np

arr = np.array([[1, 2, 3], [2, 4, 3], [5, 6, 5], [7, 8, 7]])
unique_arr = np.ndarray.flatten(arr)
unique_arr = np.unique(unique_arr)
print(unique_arr)   # [1 2 3 4 5 6 7 8]

numpy.bincount()方法

numpy.bincount()方法可以用于计算非负整数数组中每个元素出现的次数。该方法返回一个长度为n的数组,其中第i个元素表示数字i在输入数组中出现的次数。该方法仅适用于非负整数数组。示例代码如下:


import numpy as np

arr = np.array([1, 2, 3, 2, 4, 3, 5, 6, 5, 7])
unique_arr, counts = np.unique(arr, return_counts=True)
print(unique_arr)   # [1 2 3 4 5 6 7]
print(counts)       # [1 2 2 1 2 1 1]

pandas.Series.unique()方法

pandas.Series.unique()方法可以用于找到一个pandas.Series对象中的唯一值。它与numpy.unique()函数类似。

示例代码如下:


import pandas as pd

s = pd.Series([1, 2, 3, 2, 4, 3, 5, 6, 5, 7])
unique_arr = s.unique()
print(unique_arr)   # [1 2 3 4 5 6 7]

这些方法都可以用于对NumPy数组进行去重,具体使用哪种方法,要根据实际需求和数据类型来选择。

本文链接:https://my.lmcjl.com/post/19769.html

展开阅读全文

4 评论

留下您的评论.